# frv testcase for scani $GRi,$s12,$GRk
# mach: all

	.include "testutils.inc"

	start

	.global scani
scani:
	set_gr_limmed	0xffff,0xfeaa,gr7
	scani 		gr7,0x2aa,gr9
	test_gr_immed	0,gr9
	test_gr_limmed	0xffff,0xfeaa,gr7

	set_gr_limmed	0xffff,0xfeaa,gr7
	scani 		gr7,0x2ab,gr9
	test_gr_immed	0,gr9
	test_gr_limmed	0xffff,0xfeaa,gr7

	set_gr_limmed	0x0000,0x0155,gr7
	scani 		gr7,0x2aa,gr9
	test_gr_immed	63,gr9
	test_gr_limmed	0x0000,0x0155,gr7

	set_gr_limmed	0x0000,0x0155,gr7
	scani 		gr7,0x2ab,gr9
	test_gr_immed	63,gr9
	test_gr_limmed	0x0000,0x0155,gr7

	set_gr_limmed	0x7fff,0xffff,gr7
	scani 		gr7,-1,gr9
	test_gr_immed	0,gr9
	test_gr_limmed	0x7fff,0xffff,gr7

	set_gr_limmed	0xbfff,0xffff,gr7
	scani 		gr7,-1,gr9
	test_gr_immed	1,gr9
	test_gr_limmed	0xbfff,0xffff,gr7

	set_gr_limmed	0xfffe,0xffff,gr7
	scani 		gr7,-1,gr9
	test_gr_immed	15,gr9
	test_gr_limmed	0xfffe,0xffff,gr7

	set_gr_limmed	0xffff,0xfffd,gr7
	scani 		gr7,-1,gr9
	test_gr_immed	30,gr9
	test_gr_limmed	0xffff,0xfffd,gr7

	set_gr_limmed	0xdead,0xbeef,gr7
	scani 		gr7,-2048,gr9
	test_gr_immed	2,gr9
	test_gr_limmed	0xdead,0xbeef,gr7

	pass
