summaryrefslogtreecommitdiff
path: root/sim/testsuite/frv/nfitos.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/frv/nfitos.cgs')
-rw-r--r--sim/testsuite/frv/nfitos.cgs44
1 files changed, 44 insertions, 0 deletions
diff --git a/sim/testsuite/frv/nfitos.cgs b/sim/testsuite/frv/nfitos.cgs
new file mode 100644
index 00000000000..539f7b281c5
--- /dev/null
+++ b/sim/testsuite/frv/nfitos.cgs
@@ -0,0 +1,44 @@
+# frv testcase for nfitos $FRj,$FRk
+# mach: fr500 fr550 frv
+
+ .include "testutils.inc"
+
+ float_constants
+ start
+ load_float_constants
+
+ .global nfitos
+nfitos:
+ set_fr_iimmed 0,0,fr1
+ nfitos fr1,fr1
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ set_fr_iimmed 0x0000,0x0002,fr1
+ nfitos fr1,fr1
+ test_fr_fr fr1,fr32
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ set_fr_iimmed 0xdead,0xbeef,fr1
+ nfitos fr1,fr1
+ test_fr_iimmed 0xce054904,fr1
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ ; These were an attempt to cause overflow
+ set_fr_iimmed 0x7fff,0xffff,fr1
+ nfitos fr1,fr1
+ test_fr_iimmed 0x4f000000,fr1
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ set_fr_iimmed 0x8000,0x0000,fr1
+ nfitos fr1,fr1
+ test_fr_iimmed 0xcf000000,fr1
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ pass