summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/sh64/compact/xori.cgs
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sim/sh64/compact/xori.cgs')
-rw-r--r--sim/testsuite/sim/sh64/compact/xori.cgs50
1 files changed, 50 insertions, 0 deletions
diff --git a/sim/testsuite/sim/sh64/compact/xori.cgs b/sim/testsuite/sim/sh64/compact/xori.cgs
new file mode 100644
index 00000000000..732b9ec5c48
--- /dev/null
+++ b/sim/testsuite/sim/sh64/compact/xori.cgs
@@ -0,0 +1,50 @@
+# sh testcase for xor #$imm8, r0 -*- Asm -*-
+# mach: all
+# as: -isa=shcompact
+# ld: -m shelf32
+
+ .include "compact/testutils.inc"
+
+ start
+
+ .global xori
+xori:
+ # 0 (+) 1 = 1.
+ mov #0, r0
+ xor #1, r0
+ assert r0, #1
+
+xori2:
+ # 1 (+) 0 = 1.
+ mov #1, r0
+ xor #0, r0
+ assert r0, #1
+
+xori3:
+ # 1 (+) 1 = 0.
+ mov #1, r0
+ xor #1, r0
+ assert r0, #0
+
+xori4:
+ # 255 (+) 255 = 0.
+ mov #0, r0
+ or #255, r0
+ xor #255, r0
+ assert r0, #0
+
+xori5:
+ # 0 (+) 255 = 255.
+ mov #0, r0
+ xor #255, r0
+ mov r0, r1
+
+ mov #0, r0
+ or #255, r0
+ cmp/eq r0, r1
+ bf wrong
+
+okay:
+ pass
+wrong:
+ fail