# frv testcase for cnot $GRj,$GRk
# mach: all

	.include "testutils.inc"

	start

	.global cnot
cnot:
	set_spr_immed	0x1b1b,cccr

	set_gr_limmed   0xaaaa,0xaaaa,gr7
	cnot      	gr7,gr7,cc0,1
	test_gr_limmed 	0x5555,0x5555,gr7

	set_gr_limmed   0xdead,0xbeef,gr7
	cnot      	gr7,gr7,cc4,1
	test_gr_limmed 	0x2152,0x4110,gr7

	set_gr_limmed   0xaaaa,0xaaaa,gr7
	cnot      	gr7,gr7,cc0,0
	test_gr_limmed 	0xaaaa,0xaaaa,gr7

	set_gr_limmed   0xdead,0xbeef,gr7
	cnot      	gr7,gr7,cc4,0
	test_gr_limmed 	0xdead,0xbeef,gr7

	set_gr_limmed   0xaaaa,0xaaaa,gr7
	cnot      	gr7,gr7,cc1,0
	test_gr_limmed 	0x5555,0x5555,gr7

	set_gr_limmed   0xdead,0xbeef,gr7
	cnot      	gr7,gr7,cc5,0
	test_gr_limmed 	0x2152,0x4110,gr7

	set_gr_limmed   0xaaaa,0xaaaa,gr7
	cnot      	gr7,gr7,cc1,1
	test_gr_limmed 	0xaaaa,0xaaaa,gr7

	set_gr_limmed   0xdead,0xbeef,gr7
	cnot      	gr7,gr7,cc5,1
	test_gr_limmed 	0xdead,0xbeef,gr7

	set_gr_limmed   0xaaaa,0xaaaa,gr7
	cnot      	gr7,gr7,cc2,0
	test_gr_limmed 	0xaaaa,0xaaaa,gr7

	set_gr_limmed   0xdead,0xbeef,gr7
	cnot      	gr7,gr7,cc6,1
	test_gr_limmed 	0xdead,0xbeef,gr7

	set_gr_limmed   0xaaaa,0xaaaa,gr7
	cnot      	gr7,gr7,cc3,0
	test_gr_limmed 	0xaaaa,0xaaaa,gr7

	set_gr_limmed   0xdead,0xbeef,gr7
	cnot      	gr7,gr7,cc7,1
	test_gr_limmed 	0xdead,0xbeef,gr7

	pass
