# 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
