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

	.include "testutils.inc"

	start

	.global ccalll
ccalll:
	set_spr_immed	0x1b1b,cccr

	set_gr_addr	ok2,gr8
	inc_gr_immed	-4,gr8
	inc_gr_immed	4,gr9
	ccalll		@(gr8,gr9),cc0,1
bad2:
	fail
ok2:
	test_spr_addr	bad2,lr

	set_gr_addr	ok3,gr8
	inc_gr_immed	4,gr8
	set_gr_immed	-4,gr9
	ccalll		@(gr8,gr9),cc4,1
bad3:
	fail
ok3:
	test_spr_addr	bad3,lr

	set_spr_immed	0,lr
	set_gr_addr	bad,gr8
	inc_gr_immed	-4,gr8
	set_gr_immed	4,gr9
	ccalll		@(gr8,gr9),cc0,0
	test_spr_addr	0,lr

	set_gr_addr	bad,gr8
	inc_gr_immed	4,gr8
	set_gr_immed	-4,gr9
	ccalll		@(gr8,gr9),cc4,0
	test_spr_addr	0,lr

	set_gr_addr	ok5,gr8
	inc_gr_immed	-4,gr8
	set_gr_immed	4,gr9
	ccalll		@(gr8,gr9),cc1,0
bad5:
	fail
ok5:
	test_spr_addr	bad5,lr

	set_gr_addr	ok6,gr8
	inc_gr_immed	4,gr8
	set_gr_immed	-4,gr9
	ccalll		@(gr8,gr9),cc5,0
bad6:
	fail
ok6:
	test_spr_addr	bad6,lr

	set_spr_immed	0,lr
	set_gr_addr	bad,gr8
	inc_gr_immed	-4,gr8
	set_gr_immed	4,gr9
	ccalll		@(gr8,gr9),cc1,1
	test_spr_addr	0,lr

	set_gr_addr	bad,gr8
	inc_gr_immed	4,gr8
	set_gr_immed	-4,gr9
	ccalll		@(gr8,gr9),cc5,1
	test_spr_addr	0,lr

	set_gr_addr	bad,gr8
	inc_gr_immed	-4,gr8
	set_gr_immed	4,gr9
	ccalll		@(gr8,gr9),cc2,1
	test_spr_addr	0,lr

	set_gr_addr	bad,gr8
	inc_gr_immed	4,gr8
	set_gr_immed	-4,gr9
	ccalll		@(gr8,gr9),cc6,0
	test_spr_addr	0,lr

	set_gr_addr	bad,gr8
	inc_gr_immed	-4,gr8
	set_gr_immed	4,gr9
	ccalll		@(gr8,gr9),cc3,0
	test_spr_addr	0,lr

	set_gr_addr	bad,gr8
	inc_gr_immed	4,gr8
	set_gr_immed	-4,gr9
	ccalll		@(gr8,gr9),cc7,1
	test_spr_addr	0,lr

	pass
bad:
	fail

