nfsqrts.cgs 880 B

1234567891011121314151617181920212223242526272829303132333435
  1. # frv testcase for nfsqrts $FRj,$FRk
  2. # mach: fr500 fr550 frv
  3. .include "testutils.inc"
  4. float_constants
  5. start
  6. load_float_constants
  7. .global nfsqrts
  8. nfsqrts:
  9. nfsqrts fr44,fr1 ; 9.0
  10. test_fr_fr fr1,fr36 ; 3.0
  11. test_spr_immed 0,fner1
  12. test_spr_immed 0,fner0
  13. set_fr_iimmed 0x4049,0x0fdb,fr10 ; 3.141592654
  14. nfsqrts fr10,fr10
  15. test_fr_iimmed 0x3fe2dfc5,fr10 ; 1.7724539
  16. test_spr_immed 0,fner1
  17. test_spr_immed 0,fner0
  18. ; fp_exceptions
  19. nfsqrts fr8,fr1 ; -1 -- invalid
  20. test_fr_iimmed 0x7fc00000,fr1 ; nan1
  21. test_spr_immed 2,fner1
  22. test_spr_immed 0,fner0
  23. test_spr_bits 0x80000000,31,0x0,fqst0 ; fq0.miv is clear
  24. test_spr_bits 0x18000,15,0x0,fqst0 ; fq0.sie is clear
  25. test_spr_bits 0x380,7,0x0,fqst0 ; fq0.ftt is clear
  26. test_spr_bits 0x7e,1,0x0,fqst0 ; fq0.cexc is clear
  27. test_spr_bits 0x1,0,0x0,fqst0 ; fq0.valid is clear
  28. test_spr_immed 0,fqop0 ; fq0.opc
  29. pass