aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/frv/cfsubs.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/frv/cfsubs.cgs')
-rw-r--r--sim/testsuite/frv/cfsubs.cgs412
1 files changed, 412 insertions, 0 deletions
diff --git a/sim/testsuite/frv/cfsubs.cgs b/sim/testsuite/frv/cfsubs.cgs
new file mode 100644
index 0000000..3bc7db1
--- /dev/null
+++ b/sim/testsuite/frv/cfsubs.cgs
@@ -0,0 +1,412 @@
+# frv testcase for cfsubs $FRi,$FRj,$FRk,$CCi,$cond
+# mach: fr500 fr550 frv
+
+ .include "testutils.inc"
+
+ float_constants
+ start
+ load_float_constants
+
+ .global cfsubs
+cfsubs:
+ set_spr_immed 0x1b1b,cccr
+
+ cfsubs fr0,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr0
+ cfsubs fr4,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr4
+ cfsubs fr8,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr8
+ cfsubs fr12,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr12
+ cfsubs fr16,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr20,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr24,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr24
+ cfsubs fr28,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr28
+ cfsubs fr32,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr32
+ cfsubs fr36,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr36
+ cfsubs fr40,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr40
+ cfsubs fr44,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr44
+ cfsubs fr48,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr48
+ cfsubs fr52,fr16,fr1,cc0,1
+ test_fr_fr fr1,fr52
+
+ cfsubs fr0,fr20,fr1,cc0,1
+ test_fr_fr fr1,fr0
+ cfsubs fr4,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr4
+ cfsubs fr8,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr8
+ cfsubs fr12,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr12
+ cfsubs fr16,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr20,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr24,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr24
+ cfsubs fr28,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr28
+ cfsubs fr32,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr32
+ cfsubs fr36,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr36
+ cfsubs fr40,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr40
+ cfsubs fr44,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr44
+ cfsubs fr48,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr48
+ cfsubs fr52,fr20,fr1,cc4,1
+ test_fr_fr fr1,fr52
+
+ cfsubs fr32,fr36,fr1,cc4,1
+ test_fr_fr fr1,fr8
+
+ cfsubs fr44,fr40,fr1,cc4,1
+ test_fr_fr fr1,fr36
+;
+ cfsubs fr0,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr0
+ cfsubs fr4,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr4
+ cfsubs fr8,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr8
+ cfsubs fr12,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr12
+ cfsubs fr16,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr20,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr24,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr24
+ cfsubs fr28,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr28
+ cfsubs fr32,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr32
+ cfsubs fr36,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr36
+ cfsubs fr40,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr40
+ cfsubs fr44,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr44
+ cfsubs fr48,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr48
+ cfsubs fr52,fr16,fr1,cc1,0
+ test_fr_fr fr1,fr52
+
+ cfsubs fr0,fr20,fr1,cc1,0
+ test_fr_fr fr1,fr0
+ cfsubs fr4,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr4
+ cfsubs fr8,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr8
+ cfsubs fr12,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr12
+ cfsubs fr16,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr20,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr16
+ test_fr_fr fr1,fr20
+ cfsubs fr24,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr24
+ cfsubs fr28,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr28
+ cfsubs fr32,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr32
+ cfsubs fr36,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr36
+ cfsubs fr40,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr40
+ cfsubs fr44,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr44
+ cfsubs fr48,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr48
+ cfsubs fr52,fr20,fr1,cc5,0
+ test_fr_fr fr1,fr52
+
+ cfsubs fr32,fr36,fr1,cc5,0
+ test_fr_fr fr1,fr8
+
+ cfsubs fr44,fr40,fr1,cc5,0
+ test_fr_fr fr1,fr36
+
+ set_fr_iimmed 0xdead,0xbeef,fr1
+ cfsubs fr0,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr16,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr0,fr20,fr1,cc0,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr20,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr32,fr36,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr44,fr40,fr1,cc4,0
+ test_fr_iimmed 0xdeadbeef,fr1
+;
+ set_fr_iimmed 0xdead,0xbeef,fr1
+ cfsubs fr0,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr16,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr0,fr20,fr1,cc1,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr20,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr32,fr36,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr44,fr40,fr1,cc5,1
+ test_fr_iimmed 0xdeadbeef,fr1
+;
+ set_fr_iimmed 0xdead,0xbeef,fr1
+ cfsubs fr0,fr16,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr16,fr1,cc2,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr16,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr16,fr1,cc2,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr16,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr16,fr1,cc2,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr16,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr16,fr1,cc2,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr16,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr16,fr1,cc2,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr16,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr16,fr1,cc2,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr16,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr16,fr1,cc2,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr0,fr20,fr1,cc2,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr20,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr20,fr1,cc6,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr20,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr20,fr1,cc6,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr20,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr20,fr1,cc6,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr20,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr20,fr1,cc6,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr20,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr20,fr1,cc6,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr20,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr20,fr1,cc6,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr20,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr32,fr36,fr1,cc6,0
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr44,fr40,fr1,cc6,1
+ test_fr_iimmed 0xdeadbeef,fr1
+;
+ set_fr_iimmed 0xdead,0xbeef,fr1
+ cfsubs fr0,fr16,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr16,fr1,cc3,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr16,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr16,fr1,cc3,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr16,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr16,fr1,cc3,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr16,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr16,fr1,cc3,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr16,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr16,fr1,cc3,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr16,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr16,fr1,cc3,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr16,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr16,fr1,cc3,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr0,fr20,fr1,cc3,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr4,fr20,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr8,fr20,fr1,cc7,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr12,fr20,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr16,fr20,fr1,cc7,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr20,fr20,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr24,fr20,fr1,cc7,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr28,fr20,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr32,fr20,fr1,cc7,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr36,fr20,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr40,fr20,fr1,cc7,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr44,fr20,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr48,fr20,fr1,cc7,0
+ test_fr_iimmed 0xdeadbeef,fr1
+ cfsubs fr52,fr20,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr32,fr36,fr1,cc7,0
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ cfsubs fr44,fr40,fr1,cc7,1
+ test_fr_iimmed 0xdeadbeef,fr1
+
+ pass
+
+