# frv testcase for cldq @($GRi,$GRj),$GRk,$CCi,$cond
# mach: frv
# as(frv): -mcpu=frv

	.include "testutils.inc"

	start

	.global cldq
cldq:
	set_spr_immed	0x1b1b,cccr

	set_mem_limmed	0xdead,0xbeef,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0xbeef,0xdead,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x1234,0x5678,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x9abc,0xdef0,sp
	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_immed	0,gr7
	cldq 		@(sp,gr7),gr8,cc0,1
	test_gr_limmed	0x9abc,0xdef0,gr8
	test_gr_limmed	0x1234,0x5678,gr9
	test_gr_limmed	0xbeef,0xdead,gr10
	test_gr_limmed	0xdead,0xbeef,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	-16,sp
	set_gr_immed	16,gr7
	cldq 		@(sp,gr7),gr8,cc0,1
	test_gr_limmed	0x9abc,0xdef0,gr8
	test_gr_limmed	0x1234,0x5678,gr9
	test_gr_limmed	0xbeef,0xdead,gr10
	test_gr_limmed	0xdead,0xbeef,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	32,sp
	set_gr_immed	-16,gr7
	cldq 		@(sp,gr7),gr8,cc4,1
	test_gr_limmed	0x9abc,0xdef0,gr8
	test_gr_limmed	0x1234,0x5678,gr9
	test_gr_limmed	0xbeef,0xdead,gr10
	test_gr_limmed	0xdead,0xbeef,gr11

	inc_gr_immed	-4,sp
	set_mem_limmed	0xdead,0xbeef,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0xbeef,0xdead,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x1234,0x5678,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x9abc,0xdef0,sp
	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_immed	0,gr7
	cldq 		@(sp,gr7),gr8,cc0,0
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	-16,sp
	set_gr_immed	16,gr7
	cldq 		@(sp,gr7),gr8,cc0,0
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	32,sp
	set_gr_immed	-16,gr7
	cldq 		@(sp,gr7),gr8,cc4,0
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	inc_gr_immed	-4,sp
	set_mem_limmed	0xdead,0xbeef,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0xbeef,0xdead,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x1234,0x5678,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x9abc,0xdef0,sp
	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_immed	0,gr7
	cldq 		@(sp,gr7),gr8,cc1,0
	test_gr_limmed	0x9abc,0xdef0,gr8
	test_gr_limmed	0x1234,0x5678,gr9
	test_gr_limmed	0xbeef,0xdead,gr10
	test_gr_limmed	0xdead,0xbeef,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	-16,sp
	set_gr_immed	16,gr7
	cldq 		@(sp,gr7),gr8,cc1,0
	test_gr_limmed	0x9abc,0xdef0,gr8
	test_gr_limmed	0x1234,0x5678,gr9
	test_gr_limmed	0xbeef,0xdead,gr10
	test_gr_limmed	0xdead,0xbeef,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	32,sp
	set_gr_immed	-16,gr7
	cldq 		@(sp,gr7),gr8,cc5,0
	test_gr_limmed	0x9abc,0xdef0,gr8
	test_gr_limmed	0x1234,0x5678,gr9
	test_gr_limmed	0xbeef,0xdead,gr10
	test_gr_limmed	0xdead,0xbeef,gr11

	inc_gr_immed	-4,sp
	set_mem_limmed	0xdead,0xbeef,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0xbeef,0xdead,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x1234,0x5678,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x9abc,0xdef0,sp
	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_immed	0,gr7
	cldq 		@(sp,gr7),gr8,cc1,1
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	-16,sp
	set_gr_immed	16,gr7
	cldq 		@(sp,gr7),gr8,cc1,1
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	32,sp
	set_gr_immed	-16,gr7
	cldq 		@(sp,gr7),gr8,cc5,1
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	inc_gr_immed	-4,sp
	set_mem_limmed	0xdead,0xbeef,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0xbeef,0xdead,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x1234,0x5678,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x9abc,0xdef0,sp
	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_immed	0,gr7
	cldq 		@(sp,gr7),gr8,cc2,0
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	-16,sp
	set_gr_immed	16,gr7
	cldq 		@(sp,gr7),gr8,cc2,1
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	32,sp
	set_gr_immed	-16,gr7
	cldq 		@(sp,gr7),gr8,cc6,0
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	inc_gr_immed	-4,sp
	set_mem_limmed	0xdead,0xbeef,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0xbeef,0xdead,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x1234,0x5678,sp
	inc_gr_immed	-4,sp
	set_mem_limmed	0x9abc,0xdef0,sp
	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_immed	0,gr7
	cldq 		@(sp,gr7),gr8,cc3,1
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	-16,sp
	set_gr_immed	16,gr7
	cldq 		@(sp,gr7),gr8,cc3,0
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	set_gr_limmed	0xdead,0xbeef,gr8
	set_gr_limmed	0xbeef,0xdead,gr9
	set_gr_limmed	0x1234,0x5678,gr10
	set_gr_limmed	0x9abc,0xdef0,gr11
	inc_gr_immed	32,sp
	set_gr_immed	-16,gr7
	cldq 		@(sp,gr7),gr8,cc7,1
	test_gr_limmed	0xdead,0xbeef,gr8
	test_gr_limmed	0xbeef,0xdead,gr9
	test_gr_limmed	0x1234,0x5678,gr10
	test_gr_limmed	0x9abc,0xdef0,gr11

	pass
