# sh testcase for swap.b $rm, $rn -*- Asm -*-
# mach: all
# as: -isa=shcompact
# ld: -m shelf32

	.include "compact/testutils.inc"

	start

init:
	# Build up a distinctive bit pattern.
	mov #1, r0
	shll8 r0
	add #12, r0
	shll8 r0
	add #85, r0
	shll8 r0
	add #70, r0

test:	
	# Swap the lower two bytes into a different register.
	swap.b r0, r1
	mov #1, r7
	shll8 r7
	add #12, r7
	shll8 r7
	add #70, r7
	shll8 r7
	add #85, r7
	cmp/eq r1, r7
	bf wrong

swapback:
	# Swap the lower two bytes into the same registers.
	# R0 should now equal R1.
	swap.b r1, r2
	cmp/eq r0, r2
	bf wrong

okay:
	pass

wrong:
	fail
