summaryrefslogtreecommitdiff
path: root/sim/testsuite/frv/nfdmulcs.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/frv/nfdmulcs.cgs')
-rw-r--r--sim/testsuite/frv/nfdmulcs.cgs313
1 files changed, 313 insertions, 0 deletions
diff --git a/sim/testsuite/frv/nfdmulcs.cgs b/sim/testsuite/frv/nfdmulcs.cgs
new file mode 100644
index 00000000000..227ff291311
--- /dev/null
+++ b/sim/testsuite/frv/nfdmulcs.cgs
@@ -0,0 +1,313 @@
+# frv testcase for nfdmulcs $FRi,$FRj,$FRk
+# mach: fr500 fr550 frv
+
+ .include "testutils.inc"
+
+ float_constants
+ start
+ load_float_constants
+ load_float_constants1
+
+ .global nfdmulcs
+nfdmulcs:
+ nfdmulcs fr16,fr4,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr8,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr12,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr16,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr20,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr24,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr28,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr32,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr36,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr40,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr44,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr16,fr48,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ nfdmulcs fr20,fr4,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr8,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr12,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr16,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr3,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr2,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr20,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr24,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr28,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr32,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr36,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr40,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr44,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr20,fr48,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ nfdmulcs fr28,fr0,fr2
+ test_fr_fr fr2,fr0
+ test_fr_fr fr3,fr0
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr4,fr2
+ test_fr_fr fr2,fr4
+ test_fr_fr fr3,fr4
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr8,fr2
+ test_fr_fr fr2,fr8
+ test_fr_fr fr3,fr8
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr12,fr2
+ test_fr_fr fr2,fr12
+ test_fr_fr fr3,fr12
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr16,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr20,fr2
+ test_fr_fr fr2,fr16
+ test_fr_fr fr2,fr20
+ test_fr_fr fr3,fr16
+ test_fr_fr fr3,fr20
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr24,fr2
+ test_fr_fr fr2,fr24
+ test_fr_fr fr3,fr24
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr28,fr2
+ test_fr_fr fr2,fr28
+ test_fr_fr fr3,fr28
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr32,fr2
+ test_fr_fr fr2,fr32
+ test_fr_fr fr3,fr32
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr36,fr2
+ test_fr_fr fr2,fr36
+ test_fr_fr fr3,fr36
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr40,fr2
+ test_fr_fr fr2,fr40
+ test_fr_fr fr3,fr40
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr44,fr2
+ test_fr_fr fr2,fr44
+ test_fr_fr fr3,fr44
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr48,fr2
+ test_fr_fr fr2,fr48
+ test_fr_fr fr3,fr48
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr28,fr52,fr2
+ test_fr_fr fr2,fr52
+ test_fr_fr fr3,fr52
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ nfdmulcs fr28,fr8,fr2
+ test_fr_fr fr2,fr8
+ test_fr_fr fr3,fr8
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+ nfdmulcs fr8,fr28,fr2
+ test_fr_fr fr2,fr8
+ test_fr_fr fr3,fr8
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ nfdmulcs fr32,fr36,fr2
+ test_fr_fr fr2,fr40
+ test_fr_fr fr3,fr40
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ ; try to cause exceptions
+ nfdmulcs fr48,fr32,fr2
+; test_fr_fr fr2,fr44
+; test_fr_fr fr3,fr44
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ nfdmulcs fr52,fr28,fr2
+; test_fr_fr fr2,fr44
+; test_fr_fr fr3,fr44
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ nfdmulcs fr56,fr28,fr2
+; test_fr_fr fr2,fr44
+; test_fr_fr fr3,fr44
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ nfdmulcs fr60,fr28,fr2
+; test_fr_fr fr2,fr44
+; test_fr_fr fr3,fr44
+ test_spr_immed 0xc,fner1
+ test_spr_immed 0,fner0
+
+ ; test all regs different
+ set_spr_immed 0,fner0
+ set_spr_immed 0,fner1
+ set_fr_fr fr32,fr50 ; 2
+ set_fr_fr fr28,fr51 ; 1
+ set_fr_fr fr44,fr52 ; 9
+ set_fr_fr fr36,fr53 ; 3
+ nfdmulcs fr50,fr52,fr54 ; 2*3, 1*9
+ test_fr_fr fr54,fr40 ; 6
+ test_fr_fr fr55,fr44 ; 9
+ test_spr_immed 0,fner1
+ test_spr_immed 0,fner0
+
+ pass