# sh testcase for swap.w $rm, $rn -*- Asm -*- | |
# mach: all | |
# as: -isa=shcompact | |
# ld: -m shelf32 | |
.include "compact/testutils.inc" | |
start | |
.global swapw | |
swapw: | |
# Build up a characteristic bit pattern in R0. | |
mov #85, r0 | |
shll16 r0 | |
add #3, r0 | |
rotr r0 | |
rotr r0 | |
or #170, r0 | |
# Preserve for later. | |
mov r0, r8 | |
test: | |
swap.w r0, r1 | |
mov #64, r0 | |
shll8 r0 | |
or #170, r0 | |
shll8 r0 | |
or #192, r0 | |
shll8 r0 | |
or #21, r0 | |
cmp/eq r1, r0 | |
bf wrong | |
swapback: | |
swap.w r1, r2 | |
cmp/eq r2, r8 | |
bf wrong | |
okay: | |
pass | |
wrong: | |
fail |