summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/frv/mdrotli.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sim/frv/mdrotli.cgs')
-rw-r--r--sim/testsuite/sim/frv/mdrotli.cgs34
1 files changed, 34 insertions, 0 deletions
diff --git a/sim/testsuite/sim/frv/mdrotli.cgs b/sim/testsuite/sim/frv/mdrotli.cgs
new file mode 100644
index 00000000000..75cddc5d5df
--- /dev/null
+++ b/sim/testsuite/sim/frv/mdrotli.cgs
@@ -0,0 +1,34 @@
+# frv testcase for mdrotli $FRi,$s6,$FRk
+# mach: fr400
+
+ .include "testutils.inc"
+
+ start
+
+ .global mdrotli
+mdrotli:
+ set_fr_iimmed 0,2,fr8
+ set_fr_iimmed 0,2,fr9
+ mdrotli fr8,-32,fr8 ; Shift by 0
+ test_fr_iimmed 2,fr8
+ test_fr_iimmed 2,fr9
+
+ set_fr_iimmed 0,2,fr8
+ set_fr_iimmed 0,2,fr9
+ mdrotli fr8,1,fr8 ; Shift by 1
+ test_fr_iimmed 4,fr8
+ test_fr_iimmed 4,fr9
+
+ set_fr_iimmed 0,1,fr8
+ set_fr_iimmed 0,2,fr9
+ mdrotli fr8,31,fr8 ; Shift by 31
+ test_fr_iimmed 0x80000000,fr8
+ test_fr_iimmed 1,fr9
+
+ set_fr_iimmed 0xdead,0xbeef,fr8
+ set_fr_iimmed 0xbeef,0xdead,fr9
+ mdrotli fr8,16,fr8
+ test_fr_iimmed 0xbeefdead,fr8
+ test_fr_iimmed 0xdeadbeef,fr9
+
+ pass