summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh64/compact/dmulul.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sim/sh64/compact/dmulul.cgs')
-rw-r--r--sim/testsuite/sim/sh64/compact/dmulul.cgs53
1 files changed, 53 insertions, 0 deletions
diff --git a/sim/testsuite/sim/sh64/compact/dmulul.cgs b/sim/testsuite/sim/sh64/compact/dmulul.cgs
new file mode 100644
index 00000000000..b34b870269d
--- /dev/null
+++ b/sim/testsuite/sim/sh64/compact/dmulul.cgs
@@ -0,0 +1,53 @@
+# sh testcase for dmulu.l $rm, $rn -*- Asm -*-
+# mach: all
+# as: -isa=shcompact
+# ld: -m shelf32
+
+ .include "compact/testutils.inc"
+
+ start
+
+ mov #0, r0
+ mov #0, r1
+ dmulu.l r0, r1
+
+ mov #0, r0
+ mov #5, r1
+ dmulu.l r0, r1
+
+ mov #5, r0
+ mov #0, r1
+ dmulu.l r0, r1
+
+ mov #1, r0
+ mov #5, r1
+ dmulu.l r0, r1
+
+ mov #5, r0
+ mov #1, r1
+ dmulu.l r0, r1
+
+ mov #2, r0
+ mov #2, r1
+ dmulu.l r0, r1
+
+ mov #1, r0
+ neg r0, r0
+ mov #2, r1
+ dmulu.l r0, r1
+
+ mov #1, r0
+ neg r0, r0
+ mov #1, r1
+ neg r1, r1
+ dmulu.l r0, r1
+
+ mov #1, r0
+ neg r0, r0
+ shlr r0
+ mov #1, r1
+ neg r1, r1
+ shlr r1
+ dmulu.l r0, r1
+
+ pass