# sh testcase for shlld.l $rm, $rn, $rd -*- Asm -*-
# mach: all
# as: -isa=shmedia
# ld: -m shelf64

	.include "media/testutils.inc"

	start
init:
	pta wrong, tr0

shlldl1:
	movi 1, r0
	shlli r0, 32, r0
	ori r0, 1, r0
	movi 1, r1
	shlli r1, 7, r1
	ori r1, 3, r1
	
	shlld.l r0, r1, r2
	
check1:
	bnei r2, 8, tr0

shlldl2:
	movi 1, r0
	movi 31, r1
	shlld.l r0, r1, r2

okay:
	pass

wrong:
	fail
