xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/frv/cmov.cgs (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1# frv testcase for cmov $GRi,$GRk,$CCi,$cond
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global cmov
9cmov:
10	set_spr_immed	0x1b1b,cccr
11
12	set_gr_immed   	0x00007fff,gr7
13	set_gr_immed   	0xdeadbeef,gr8
14	set_icc         0x08,0		; Set mask opposite of expected
15	cmov		gr7,gr8,cc0,0
16	test_icc	1 0 0 0 icc0
17	test_gr_immed  	0xdeadbeef,gr8
18
19	set_gr_immed   	0x00007fff,gr7
20	set_gr_immed   	0xdeadbeef,gr8
21	set_icc         0x08,0		; Set mask opposite of expected
22	cmov		gr7,gr8,cc0,1
23	test_icc	1 0 0 0 icc0
24	test_gr_immed  	0x00007fff,gr8
25
26	set_gr_immed   	0x00007fff,gr7
27	set_gr_immed   	0xdeadbeef,gr8
28	set_icc         0x08,1		; Set mask opposite of expected
29	cmov		gr7,gr8,cc1,0
30	test_icc	1 0 0 0 icc1
31	test_gr_immed  	0x00007fff,gr8
32
33	set_gr_immed   	0x00007fff,gr7
34	set_gr_immed   	0xdeadbeef,gr8
35	set_icc         0x08,1		; Set mask opposite of expected
36	cmov		gr7,gr8,cc1,1
37	test_icc	1 0 0 0 icc1
38	test_gr_immed  	0xdeadbeef,gr8
39
40	set_gr_immed   	0x00007fff,gr7
41	set_gr_immed   	0xdeadbeef,gr8
42	set_icc         0x08,2		; Set mask opposite of expected
43	cmov		gr7,gr8,cc2,0
44	test_icc	1 0 0 0 icc2
45	test_gr_immed  	0xdeadbeef,gr8
46
47	set_gr_immed   	0x00007fff,gr7
48	set_gr_immed   	0xdeadbeef,gr8
49	set_icc         0x08,3		; Set mask opposite of expected
50	cmov		gr7,gr8,cc3,0
51	test_icc	1 0 0 0 icc3
52	test_gr_immed  	0xdeadbeef,gr8
53
54	pass
55