1# frv testcase for bceqlr $ICCi,$ccond,$hint
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global bceqlr
9bceqlr:
10	; ccond is true
11	set_spr_immed	128,lcr
12	set_spr_addr	bad,lr
13	set_icc		0x0 0
14	bceqlr		icc0,0,0
15
16	set_spr_addr	bad,lr
17	set_icc		0x1 1
18	bceqlr		icc1,0,1
19
20	set_spr_addr	bad,lr
21	set_icc		0x2 2
22	bceqlr		icc2,0,2
23
24	set_spr_addr	bad,lr
25	set_icc		0x3 3
26	bceqlr		icc3,0,3
27
28	set_spr_addr	ok5,lr
29	set_icc		0x4 0
30	bceqlr		icc0,0,0
31	fail
32ok5:
33	set_spr_addr	ok6,lr
34	set_icc		0x5 1
35	bceqlr		icc1,0,1
36	fail
37ok6:
38	set_spr_addr	ok7,lr
39	set_icc		0x6 2
40	bceqlr		icc2,0,2
41	fail
42ok7:
43	set_spr_addr	ok8,lr
44	set_icc		0x7 3
45	bceqlr		icc3,0,3
46	fail
47ok8:
48	set_spr_addr	bad,lr
49	set_icc		0x8 0
50	bceqlr		icc0,0,0
51
52	set_spr_addr	bad,lr
53	set_icc		0x9 1
54	bceqlr		icc1,0,1
55
56	set_spr_addr	bad,lr
57	set_icc		0xa 2
58	bceqlr		icc2,0,2
59
60	set_spr_addr	bad,lr
61	set_icc		0xb 3
62	bceqlr		icc3,0,3
63
64	set_spr_addr	okd,lr
65	set_icc		0xc 0
66	bceqlr		icc0,0,0
67	fail
68okd:
69	set_spr_addr	oke,lr
70	set_icc		0xd 1
71	bceqlr		icc1,0,1
72	fail
73oke:
74	set_spr_addr	okf,lr
75	set_icc		0xe 2
76	bceqlr		icc2,0,2
77	fail
78okf:
79	set_spr_addr	okg,lr
80	set_icc		0xf 3
81	bceqlr		icc3,0,3
82	fail
83okg:
84
85	; ccond is true
86	set_spr_immed	1,lcr
87	set_spr_addr	bad,lr
88	set_icc		0x0 0
89	bceqlr		icc0,1,0
90
91	set_spr_immed	1,lcr
92	set_spr_addr	bad,lr
93	set_icc		0x1 1
94	bceqlr		icc1,1,1
95
96	set_spr_immed	1,lcr
97	set_spr_addr	bad,lr
98	set_icc		0x2 2
99	bceqlr		icc2,1,2
100
101	set_spr_immed	1,lcr
102	set_spr_addr	bad,lr
103	set_icc		0x3 3
104	bceqlr		icc3,1,3
105
106	set_spr_immed	1,lcr
107	set_spr_addr	okl,lr
108	set_icc		0x4 0
109	bceqlr		icc0,1,0
110	fail
111okl:
112	set_spr_immed	1,lcr
113	set_spr_addr	okm,lr
114	set_icc		0x5 1
115	bceqlr		icc1,1,1
116	fail
117okm:
118	set_spr_immed	1,lcr
119	set_spr_addr	okn,lr
120	set_icc		0x6 2
121	bceqlr		icc2,1,2
122	fail
123okn:
124	set_spr_immed	1,lcr
125	set_spr_addr	oko,lr
126	set_icc		0x7 3
127	bceqlr		icc3,1,3
128	fail
129oko:
130	set_spr_immed	1,lcr
131	set_spr_addr	bad,lr
132	set_icc		0x8 0
133	bceqlr		icc0,1,0
134
135	set_spr_immed	1,lcr
136	set_spr_addr	bad,lr
137	set_icc		0x9 1
138	bceqlr		icc1,1,1
139
140	set_spr_immed	1,lcr
141	set_spr_addr	bad,lr
142	set_icc		0xa 2
143	bceqlr		icc2,1,2
144
145	set_spr_immed	1,lcr
146	set_spr_addr	bad,lr
147	set_icc		0xb 3
148	bceqlr		icc3,1,3
149
150	set_spr_immed	1,lcr
151	set_spr_addr	okt,lr
152	set_icc		0xc 0
153	bceqlr		icc0,1,0
154	fail
155okt:
156	set_spr_immed	1,lcr
157	set_spr_addr	oku,lr
158	set_icc		0xd 1
159	bceqlr		icc1,1,1
160	fail
161oku:
162	set_spr_immed	1,lcr
163	set_spr_addr	okv,lr
164	set_icc		0xe 2
165	bceqlr		icc2,1,2
166	fail
167okv:
168	set_spr_immed	1,lcr
169	set_spr_addr	okw,lr
170	set_icc		0xf 3
171	bceqlr		icc3,1,3
172	fail
173okw:
174	; ccond is false
175	set_spr_immed	128,lcr
176	set_spr_addr	bad,lr
177	set_icc		0x0 0
178	bceqlr		icc0,1,0
179
180	set_icc		0x1 1
181	bceqlr		icc1,1,1
182
183	set_icc		0x2 2
184	bceqlr		icc2,1,2
185
186	set_icc		0x3 3
187	bceqlr		icc3,1,3
188
189	set_icc		0x4 0
190	bceqlr		icc0,1,0
191
192	set_icc		0x5 1
193	bceqlr		icc1,1,1
194
195	set_icc		0x6 2
196	bceqlr		icc2,1,2
197
198	set_icc		0x7 3
199	bceqlr		icc3,1,3
200
201	set_icc		0x8 0
202	bceqlr		icc0,1,0
203
204	set_icc		0x9 1
205	bceqlr		icc1,1,1
206
207	set_icc		0xa 2
208	bceqlr		icc2,1,2
209
210	set_icc		0xb 3
211	bceqlr		icc3,1,3
212
213	set_icc		0xc 0
214	bceqlr		icc0,1,0
215
216	set_icc		0xd 1
217	bceqlr		icc1,1,1
218
219	set_icc		0xe 2
220	bceqlr		icc2,1,2
221
222	set_icc		0xf 3
223	bceqlr		icc3,1,3
224
225	; ccond is false
226	set_spr_immed	1,lcr
227	set_spr_addr	bad,lr
228	set_icc		0x0 0
229	bceqlr		icc0,0,0
230
231	set_spr_immed	1,lcr
232	set_icc		0x1 1
233	bceqlr		icc1,0,1
234
235	set_spr_immed	1,lcr
236	set_icc		0x2 2
237	bceqlr		icc2,0,2
238
239	set_spr_immed	1,lcr
240	set_icc		0x3 3
241	bceqlr		icc3,0,3
242
243	set_spr_immed	1,lcr
244	set_icc		0x4 0
245	bceqlr		icc0,0,0
246
247	set_spr_immed	1,lcr
248	set_icc		0x5 1
249	bceqlr		icc1,0,1
250
251	set_spr_immed	1,lcr
252	set_icc		0x6 2
253	bceqlr		icc2,0,2
254
255	set_spr_immed	1,lcr
256	set_icc		0x7 3
257	bceqlr		icc3,0,3
258
259	set_spr_immed	1,lcr
260	set_icc		0x8 0
261	bceqlr		icc0,0,0
262
263	set_spr_immed	1,lcr
264	set_icc		0x9 1
265	bceqlr		icc1,0,1
266
267	set_spr_immed	1,lcr
268	set_icc		0xa 2
269	bceqlr		icc2,0,2
270
271	set_spr_immed	1,lcr
272	set_icc		0xb 3
273	bceqlr		icc3,0,3
274
275	set_spr_immed	1,lcr
276	set_icc		0xc 0
277	bceqlr		icc0,0,0
278
279	set_spr_immed	1,lcr
280	set_icc		0xd 1
281	bceqlr		icc1,0,1
282
283	set_spr_immed	1,lcr
284	set_icc		0xe 2
285	bceqlr		icc2,0,2
286
287	set_spr_immed	1,lcr
288	set_icc		0xf 3
289	bceqlr		icc3,0,3
290
291	pass
292bad:
293	fail
294