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