summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh64/compact/movl2.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sim/sh64/compact/movl2.cgs')
-rw-r--r--sim/testsuite/sim/sh64/compact/movl2.cgs43
1 files changed, 43 insertions, 0 deletions
diff --git a/sim/testsuite/sim/sh64/compact/movl2.cgs b/sim/testsuite/sim/sh64/compact/movl2.cgs
new file mode 100644
index 00000000000..bb550612cce
--- /dev/null
+++ b/sim/testsuite/sim/sh64/compact/movl2.cgs
@@ -0,0 +1,43 @@
+# sh testcase for mov.l $rm, @-$rn -*- Asm -*-
+# mach: all
+# as: -isa=shcompact
+# ld: -m shelf32
+
+ .include "compact/testutils.inc"
+
+ start
+
+ mov #30, r1
+ shll8 r1
+ # Save address.
+ mov r1, r7
+
+init:
+ # Build up a distinctive bit pattern.
+ mov #1, r2
+ shll8 r2
+ add #12, r2
+ shll8 r2
+ add #85, r2
+ shll8 r2
+ add #170, r2
+ mov.l r2, @-r1
+
+check:
+ # Compare the value loaded into another reg.
+ mov.l @r1, r3
+ cmp/eq r2, r3
+ bf wrong
+
+dec:
+ # Ensure address is decremented.
+ mov #4, r6
+ sub r6, r7
+ cmp/eq r1, r7
+ bf wrong
+
+okay:
+ pass
+
+wrong:
+ fail