1# frv testcase for cmxor $FRinti,$FRintj,$FRintk,$CCi,$cond
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global cmxor
9cmxor:
10	set_spr_immed	0x1b1b,cccr
11
12	set_fr_iimmed   0xaaaa,0xaaaa,fr7
13	set_fr_iimmed   0x5555,0x5555,fr8
14	cmxor      	fr7,fr8,fr8,cc0,1
15	test_fr_iimmed 	0xffffffff,fr8
16
17	set_fr_iimmed	0x0000,0x0000,fr7
18	set_fr_iimmed	0x0000,0x0000,fr8
19	cmxor		fr7,fr8,fr8,cc0,1
20	test_fr_iimmed  0x00000000,fr8
21
22	set_fr_iimmed   0xaaaa,0xaaaa,fr7
23	set_fr_iimmed   0xaaaa,0xaaaa,fr8
24	cmxor      	fr7,fr8,fr8,cc4,1
25	test_fr_iimmed	0x00000000,fr8
26
27	set_fr_iimmed   0xdead,0x0000,fr7
28	set_fr_iimmed   0x0000,0xbeef,fr8
29	cmxor		fr7,fr8,fr8,cc4,1
30	test_fr_iimmed  0xdeadbeef,fr8
31
32	set_fr_iimmed   0xaaaa,0xaaaa,fr7
33	set_fr_iimmed   0x5555,0x5555,fr8
34	cmxor      	fr7,fr8,fr8,cc1,0
35	test_fr_iimmed 	0xffffffff,fr8
36
37	set_fr_iimmed	0x0000,0x0000,fr7
38	set_fr_iimmed	0x0000,0x0000,fr8
39	cmxor		fr7,fr8,fr8,cc1,0
40	test_fr_iimmed  0x00000000,fr8
41
42	set_fr_iimmed   0xaaaa,0xaaaa,fr7
43	set_fr_iimmed   0xaaaa,0xaaaa,fr8
44	cmxor      	fr7,fr8,fr8,cc5,0
45	test_fr_iimmed	0x00000000,fr8
46
47	set_fr_iimmed   0xdead,0x0000,fr7
48	set_fr_iimmed   0x0000,0xbeef,fr8
49	cmxor		fr7,fr8,fr8,cc5,0
50	test_fr_iimmed  0xdeadbeef,fr8
51
52	set_fr_iimmed   0xaaaa,0xaaaa,fr7
53	set_fr_iimmed   0x5555,0x5555,fr8
54	cmxor      	fr7,fr8,fr8,cc0,0
55	test_fr_iimmed 	0x55555555,fr8
56
57	set_fr_iimmed	0xdead,0xbeef,fr7
58	set_fr_iimmed	0x0000,0x0000,fr8
59	cmxor		fr7,fr8,fr8,cc0,0
60	test_fr_iimmed  0x00000000,fr8
61
62	set_fr_iimmed   0xaaaa,0xaaaa,fr7
63	set_fr_iimmed   0xaaaa,0xaaaa,fr8
64	cmxor      	fr7,fr8,fr8,cc4,0
65	test_fr_iimmed	0xaaaaaaaa,fr8
66
67	set_fr_iimmed   0xdead,0x0000,fr7
68	set_fr_iimmed   0x0000,0xbeef,fr8
69	cmxor		fr7,fr8,fr8,cc4,0
70	test_fr_iimmed  0x0000beef,fr8
71
72	set_fr_iimmed   0xaaaa,0xaaaa,fr7
73	set_fr_iimmed   0x5555,0x5555,fr8
74	cmxor      	fr7,fr8,fr8,cc1,1
75	test_fr_iimmed 	0x55555555,fr8
76
77	set_fr_iimmed	0xdead,0xbeef,fr7
78	set_fr_iimmed	0x0000,0x0000,fr8
79	cmxor		fr7,fr8,fr8,cc1,1
80	test_fr_iimmed  0x00000000,fr8
81
82	set_fr_iimmed   0xaaaa,0xaaaa,fr7
83	set_fr_iimmed   0xaaaa,0xaaaa,fr8
84	cmxor      	fr7,fr8,fr8,cc5,1
85	test_fr_iimmed	0xaaaaaaaa,fr8
86
87	set_fr_iimmed   0xdead,0x0000,fr7
88	set_fr_iimmed   0x0000,0xbeef,fr8
89	cmxor		fr7,fr8,fr8,cc5,1
90	test_fr_iimmed  0x0000beef,fr8
91
92	set_fr_iimmed   0xaaaa,0xaaaa,fr7
93	set_fr_iimmed   0x5555,0x5555,fr8
94	cmxor      	fr7,fr8,fr8,cc2,0
95	test_fr_iimmed 	0x55555555,fr8
96
97	set_fr_iimmed	0xdead,0xbeef,fr7
98	set_fr_iimmed	0x0000,0x0000,fr8
99	cmxor		fr7,fr8,fr8,cc2,1
100	test_fr_iimmed  0x00000000,fr8
101
102	set_fr_iimmed   0xaaaa,0xaaaa,fr7
103	set_fr_iimmed   0xaaaa,0xaaaa,fr8
104	cmxor      	fr7,fr8,fr8,cc6,0
105	test_fr_iimmed	0xaaaaaaaa,fr8
106
107	set_fr_iimmed   0xdead,0x0000,fr7
108	set_fr_iimmed   0x0000,0xbeef,fr8
109	cmxor		fr7,fr8,fr8,cc6,1
110	test_fr_iimmed  0x0000beef,fr8
111
112	set_fr_iimmed   0xaaaa,0xaaaa,fr7
113	set_fr_iimmed   0x5555,0x5555,fr8
114	cmxor      	fr7,fr8,fr8,cc3,0
115	test_fr_iimmed 	0x55555555,fr8
116
117	set_fr_iimmed	0xdead,0xbeef,fr7
118	set_fr_iimmed	0x0000,0x0000,fr8
119	cmxor		fr7,fr8,fr8,cc3,1
120	test_fr_iimmed  0x00000000,fr8
121
122	set_fr_iimmed   0xaaaa,0xaaaa,fr7
123	set_fr_iimmed   0xaaaa,0xaaaa,fr8
124	cmxor      	fr7,fr8,fr8,cc7,0
125	test_fr_iimmed	0xaaaaaaaa,fr8
126
127	set_fr_iimmed   0xdead,0x0000,fr7
128	set_fr_iimmed   0x0000,0xbeef,fr8
129	cmxor		fr7,fr8,fr8,cc7,1
130	test_fr_iimmed  0x0000beef,fr8
131
132	pass
133