# frv testcase for csthu $GRk,@($GRi,$GRj),$CCi,$cond
# mach: all

	.include "testutils.inc"

	start

	.global csthu
csthu:
	set_spr_immed	0x1b1b,cccr
	set_gr_gr	sp,gr20
	set_gr_gr	sp,gr21

	set_mem_limmed	0xdead,0xbeef,sp
	set_gr_immed	0,gr7
	set_gr_limmed	0xffff,0xffff,gr8
	csthu		gr8,@(sp,gr7),cc0,1
	test_mem_limmed	0xffff,0xbeef,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	2,gr20
	set_gr_immed	2,gr7
	set_gr_limmed	0xdead,0xeeee,gr8
	csthu		gr8,@(sp,gr7),cc0,1
	test_mem_limmed	0xffff,0xeeee,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	2,sp
	set_gr_immed	-2,gr7
	set_gr_limmed	0xffff,0xdddd,gr8
	csthu		gr8,@(sp,gr7),cc4,1
	test_mem_limmed	0xffff,0xdddd,gr21
	test_gr_gr	sp,gr20

	set_gr_gr	gr21,sp
	set_gr_gr	gr21,gr20
	set_mem_limmed	0xdead,0xbeef,sp
	set_gr_immed	0,gr7
	set_gr_limmed	0xffff,0xffff,gr8
	csthu		gr8,@(sp,gr7),cc0,0
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	set_gr_immed	2,gr7
	set_gr_limmed	0xffff,0xeeee,gr8
	csthu		gr8,@(sp,gr7),cc0,0
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	4,gr20
	inc_gr_immed	4,sp
	set_gr_immed	-2,gr7
	set_gr_limmed	0xffff,0xdddd,gr8
	csthu		gr8,@(sp,gr7),cc4,0
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	set_gr_gr	gr21,gr20
	set_gr_gr	gr21,sp
	set_mem_limmed	0xdead,0xbeef,sp
	set_gr_immed	0,gr7
	set_gr_limmed	0xffff,0xffff,gr8
	csthu		gr8,@(sp,gr7),cc1,0
	test_mem_limmed	0xffff,0xbeef,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	2,gr20
	set_gr_immed	2,gr7
	set_gr_limmed	0xdead,0xeeee,gr8
	csthu		gr8,@(sp,gr7),cc1,0
	test_mem_limmed	0xffff,0xeeee,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	2,sp
	set_gr_immed	-2,gr7
	set_gr_limmed	0xffff,0xdddd,gr8
	csthu		gr8,@(sp,gr7),cc5,0
	test_mem_limmed	0xffff,0xdddd,gr21
	test_gr_gr	sp,gr20

	set_gr_gr	gr21,sp
	set_gr_gr	gr21,gr20
	set_mem_limmed	0xdead,0xbeef,sp
	set_gr_immed	0,gr7
	set_gr_limmed	0xffff,0xffff,gr8
	csthu		gr8,@(sp,gr7),cc1,1
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	set_gr_immed	2,gr7
	set_gr_limmed	0xffff,0xeeee,gr8
	csthu		gr8,@(sp,gr7),cc1,1
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	4,gr20
	inc_gr_immed	4,sp
	set_gr_immed	-2,gr7
	set_gr_limmed	0xffff,0xdddd,gr8
	csthu		gr8,@(sp,gr7),cc5,1
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	set_gr_gr	gr21,sp
	set_gr_gr	gr21,gr20
	set_mem_limmed	0xdead,0xbeef,sp
	set_gr_immed	0,gr7
	set_gr_limmed	0xffff,0xffff,gr8
	csthu		gr8,@(sp,gr7),cc2,0
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	set_gr_immed	2,gr7
	set_gr_limmed	0xffff,0xeeee,gr8
	csthu		gr8,@(sp,gr7),cc2,1
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	4,gr20
	inc_gr_immed	4,sp
	set_gr_immed	-2,gr7
	set_gr_limmed	0xffff,0xdddd,gr8
	csthu		gr8,@(sp,gr7),cc6,0
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	set_gr_gr	gr21,sp
	set_gr_gr	gr21,gr20
	set_mem_limmed	0xdead,0xbeef,sp
	set_gr_immed	0,gr7
	set_gr_limmed	0xffff,0xffff,gr8
	csthu		gr8,@(sp,gr7),cc3,1
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	set_gr_immed	2,gr7
	set_gr_limmed	0xffff,0xeeee,gr8
	csthu		gr8,@(sp,gr7),cc3,0
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	inc_gr_immed	4,gr20
	inc_gr_immed	4,sp
	set_gr_immed	-2,gr7
	set_gr_limmed	0xffff,0xdddd,gr8
	csthu		gr8,@(sp,gr7),cc7,1
	test_mem_limmed	0xdead,0xbeef,gr21
	test_gr_gr	sp,gr20

	pass
