# cr16 testcase for jal $sr
# mach(): cr16

	.include "testutils.inc"

	start

	.global jal
jal:
	movd $ok1, (r5, r4)
	lshd $-1, (r5,r4)
	jal (ra), (r5,r4)
not_ok:
	fail
ok1:
	movd $not_ok, (r7, r6)
	lshd $-1, (r7,r6)
	cmpd (r7,r6), (ra)
	beq ok2
	br not_ok
ok2:
	movd $ok3, (r5, r4)
	lshd $-1, (r5,r4)
	jal (r1,r0), (r5,r4)
not_ok1:
	br not_ok
ok3:
	movd $not_ok1, (r7, r6)
	lshd $-1, (r7,r6)
	cmpd (r7,r6), (r1,r0)
	beq ok4
        br not_ok
ok4:

	pass
