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

	.include "compact/testutils.inc"

	start

	sts mach, r7
	
	.global mulsw
zero:
	mov #0, r0
	mov #1, r1
	muls.w r0, r1

	# Check the result.
	sts macl, r3
	mov #0, r4
	cmp/eq r3, r4
	bf wrong

sxs:
	# Small * small.
	mov #1, r0
	mov #2, r1
	muls.w r0, r1

	# Check the result.
	sts macl, r3
	mov #2, r4
	cmp/eq r3, r4
	bf wrong

sxl:
	# Small * large.
	mov #1, r0
	mov #255, r1
	shll8 r1
	muls.w r0, r1

	# Check the result.
	sts macl, r3
	mov #0, r4
	not r4, r4
	shll8 r4
	cmp/eq r3, r4
	bf wrong

lxs:
	# Large * small.
	mov #255, r0
	shll8 r0
	mov #1, r1
	muls.w r0, r1

	# Check the result.
	sts macl, r3
	mov #0, r4
	not r4, r4
	shll8 r4
	cmp/eq r3, r4
	bf wrong
	
lxl:
	# Large * large.
	mov #255, r0
	shll8 r0
	mov #255, r1
	shll8 r1
	muls.w r0, r1

	# Check the result.
	sts macl, r3
	mov #1, r4
	shll16 r4
	cmp/eq r3, r4
	bf wrong
	
invariant:	
	# Ensure MACH is invariant.
	sts mach, r8
	cmp/eq r7, r8
	bf wrong
	 
okay:
	pass

wrong:
	fail
