aboutsummaryrefslogtreecommitdiff
path: root/sim/testsuite/sh/shlr.s
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sh/shlr.s')
-rw-r--r--sim/testsuite/sh/shlr.s42
1 files changed, 42 insertions, 0 deletions
diff --git a/sim/testsuite/sh/shlr.s b/sim/testsuite/sh/shlr.s
new file mode 100644
index 0000000..8755afb
--- /dev/null
+++ b/sim/testsuite/sh/shlr.s
@@ -0,0 +1,42 @@
+# sh testcase for shlr
+# mach: all
+# as(sh): -defsym sim_cpu=0
+# as(shdsp): -defsym sim_cpu=1 -dsp
+
+ .include "testutils.inc"
+
+ start
+
+shlr:
+ set_grs_a5a5
+ mov #0, r0
+ or #192, r0
+ shlr r0
+ assertreg0 96
+ shlr r0
+ assertreg0 48
+ shlr r0
+ assertreg0 24
+ shlr r0
+ assertreg0 12
+ shlr r0
+ assertreg0 6
+ shlr r0
+ assertreg0 3
+
+ # Make sure a bit is shifted into T.
+ shlr r0
+ bf wrong
+ assertreg0 1
+ # Ditto.
+ shlr r0
+ bf wrong
+ assertreg0 0
+
+ set_greg 0xa5a5a5a5, r0
+ test_grs_a5a5
+ pass
+ exit 0
+
+wrong:
+ fail