summaryrefslogtreecommitdiff
path: root/sim/testsuite/frv/cmexpdhd.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/frv/cmexpdhd.cgs')
-rw-r--r--sim/testsuite/frv/cmexpdhd.cgs116
1 files changed, 116 insertions, 0 deletions
diff --git a/sim/testsuite/frv/cmexpdhd.cgs b/sim/testsuite/frv/cmexpdhd.cgs
new file mode 100644
index 00000000000..33a3c009375
--- /dev/null
+++ b/sim/testsuite/frv/cmexpdhd.cgs
@@ -0,0 +1,116 @@
+# frv testcase for cmexpdhd $FRi,$s6,$FRj,$CCi,$cond
+# mach: all
+
+ .include "testutils.inc"
+
+ start
+
+ .global cmexpdhd
+cmexpdhd:
+ set_spr_immed 0x1b1b,cccr
+
+ set_fr_iimmed 0xdead,0xbeef,fr10
+ cmexpdhd fr10,0,fr12,cc0,1
+ test_fr_limmed 0xdead,0xdead,fr12
+ test_fr_limmed 0xdead,0xdead,fr13
+
+ cmexpdhd fr10,1,fr12,cc0,1
+ test_fr_limmed 0xbeef,0xbeef,fr12
+ test_fr_limmed 0xbeef,0xbeef,fr13
+
+ cmexpdhd fr10,62,fr12,cc4,1
+ test_fr_limmed 0xdead,0xdead,fr12
+ test_fr_limmed 0xdead,0xdead,fr13
+
+ cmexpdhd fr10,63,fr12,cc4,1
+ test_fr_limmed 0xbeef,0xbeef,fr12
+ test_fr_limmed 0xbeef,0xbeef,fr13
+
+ set_fr_iimmed 0xdead,0xbeef,fr10
+ cmexpdhd fr10,0,fr12,cc1,0
+ test_fr_limmed 0xdead,0xdead,fr12
+ test_fr_limmed 0xdead,0xdead,fr13
+
+ cmexpdhd fr10,1,fr12,cc1,0
+ test_fr_limmed 0xbeef,0xbeef,fr12
+ test_fr_limmed 0xbeef,0xbeef,fr13
+
+ cmexpdhd fr10,62,fr12,cc5,0
+ test_fr_limmed 0xdead,0xdead,fr12
+ test_fr_limmed 0xdead,0xdead,fr13
+
+ cmexpdhd fr10,63,fr12,cc5,0
+ test_fr_limmed 0xbeef,0xbeef,fr12
+ test_fr_limmed 0xbeef,0xbeef,fr13
+
+ set_fr_iimmed 0x1111,0x1111,fr12
+ set_fr_iimmed 0x2222,0x2222,fr13
+ set_fr_iimmed 0xdead,0xbeef,fr10
+ cmexpdhd fr10,0,fr12,cc0,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,1,fr12,cc0,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,62,fr12,cc4,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,63,fr12,cc4,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ set_fr_iimmed 0xdead,0xbeef,fr10
+ cmexpdhd fr10,0,fr12,cc1,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,1,fr12,cc1,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,62,fr12,cc5,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,63,fr12,cc5,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ set_fr_iimmed 0xdead,0xbeef,fr10
+ cmexpdhd fr10,0,fr12,cc2,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,1,fr12,cc2,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,62,fr12,cc6,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,63,fr12,cc6,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ set_fr_iimmed 0xdead,0xbeef,fr10
+ cmexpdhd fr10,0,fr12,cc3,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,1,fr12,cc3,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,62,fr12,cc7,1
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ cmexpdhd fr10,63,fr12,cc7,0
+ test_fr_limmed 0x1111,0x1111,fr12
+ test_fr_limmed 0x2222,0x2222,fr13
+
+ pass