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