# sh testcase for xor $rm64, $rn64 -*- Asm -*- | |
# mach: all | |
# as: -isa=shcompact | |
# ld: -m shelf32 | |
.include "compact/testutils.inc" | |
start | |
.global xor | |
xor: | |
# 0 (+) 1 = 1. | |
mov #0, r0 | |
mov #1, r1 | |
xor r0, r1 | |
assert r1, #1 | |
xor2: | |
# 1 (+) 0 = 0. | |
mov #1, r0 | |
mov #0, r1 | |
xor r0, r1 | |
assert r1, #1 | |
xor3: | |
# 0 (+) 0 = 0. | |
mov #0, r0 | |
mov #0, r1 | |
xor r0, r1 | |
assert r1, #0 | |
xor4: | |
# 0 (+) 0 = 0. | |
mov #0, r0 | |
xor r0, r0 | |
assert r0, #0 | |
xor5: | |
mov #0, r0 | |
or #85, r0 | |
shll16 r0 | |
or #170, r0 | |
mov r0, r1 | |
mov #0, r0 | |
or #85, r0 | |
shll16 r0 | |
or #170, r0 | |
xor r1, r0 | |
assert r0, #0 | |
xor6: | |
mov #0, r0 | |
or #85, r0 | |
shll16 r0 | |
or #170, r0 | |
mov r0, r1 | |
mov #0, r0 | |
or #85, r0 | |
shll16 r0 | |
or #12, r0 | |
xor r0, r1 | |
mov #0, r0 | |
or #166, r0 | |
cmp/eq r0, r1 | |
bf wrong | |
okay: | |
pass | |
wrong: | |
fail |