1# frv testcase for cscan $GRi,$GRj,$GRk,$CCi,$cond
2# mach: all
3
4	.include "testutils.inc"
5
6	start
7
8	.global cscan
9cscan:
10	set_spr_immed	0x1b1b,cccr
11
12	set_gr_limmed	0x2aaa,0xaaaa,gr7
13	set_gr_limmed	0xaaaa,0x5555,gr8
14	cscan 		gr7,gr8,gr9,cc0,1
15	test_gr_immed	0,gr9
16	test_gr_limmed	0x2aaa,0xaaaa,gr7
17	test_gr_limmed	0xaaaa,0x5555,gr8
18
19	set_gr_limmed	0x2aaa,0xaaaa,gr7
20	set_gr_limmed	0xaaaa,0xaaab,gr8
21	cscan 		gr7,gr8,gr9,cc0,1
22	test_gr_immed	0,gr9
23	test_gr_limmed	0x2aaa,0xaaaa,gr7
24	test_gr_limmed	0xaaaa,0xaaab,gr8
25
26	set_gr_limmed	0xd555,0x5555,gr7
27	set_gr_limmed	0xaaaa,0xaaaa,gr8
28	cscan 		gr7,gr8,gr9,cc0,1
29	test_gr_immed	63,gr9
30	test_gr_limmed	0xd555,0x5555,gr7
31	test_gr_limmed	0xaaaa,0xaaaa,gr8
32
33	set_gr_limmed	0xd555,0x5555,gr7
34	set_gr_limmed	0xaaaa,0xaaab,gr8
35	cscan 		gr7,gr8,gr9,cc0,1
36	test_gr_immed	63,gr9
37	test_gr_limmed	0xd555,0x5555,gr7
38	test_gr_limmed	0xaaaa,0xaaab,gr8
39
40	set_gr_limmed	0xffff,0xffff,gr7
41	set_gr_limmed	0x7fff,0xffff,gr8
42	cscan 		gr7,gr8,gr9,cc0,1
43	test_gr_immed	0,gr9
44	test_gr_limmed	0xffff,0xffff,gr7
45	test_gr_limmed	0x7fff,0xffff,gr8
46
47	set_gr_limmed	0xffff,0xffff,gr7
48	set_gr_limmed	0xbfff,0xffff,gr8
49	cscan 		gr7,gr8,gr9,cc4,1
50	test_gr_immed	2,gr9
51	test_gr_limmed	0xffff,0xffff,gr7
52	test_gr_limmed	0xbfff,0xffff,gr8
53
54	set_gr_limmed	0xffff,0xffff,gr7
55	set_gr_limmed	0xfffe,0xffff,gr8
56	cscan 		gr7,gr8,gr9,cc4,1
57	test_gr_immed	16,gr9
58	test_gr_limmed	0xffff,0xffff,gr7
59	test_gr_limmed	0xfffe,0xffff,gr8
60
61	set_gr_limmed	0xffff,0xffff,gr7
62	set_gr_limmed	0xffff,0xfffd,gr8
63	cscan 		gr7,gr8,gr9,cc4,1
64	test_gr_immed	31,gr9
65	test_gr_limmed	0xffff,0xffff,gr7
66	test_gr_limmed	0xffff,0xfffd,gr8
67
68	set_gr_limmed	0xdead,0xbeef,gr7
69	set_gr_limmed	0xbeef,0xdead,gr8
70	cscan 		gr7,gr8,gr9,cc4,1
71	test_gr_immed	7,gr9
72	test_gr_limmed	0xdead,0xbeef,gr7
73	test_gr_limmed	0xbeef,0xdead,gr8
74
75	set_gr_immed	0x7fff,gr9
76	set_gr_limmed	0xaaaa,0xaaaa,gr7
77	set_gr_limmed	0x5555,0x5555,gr8
78	cscan 		gr7,gr8,gr9,cc0,0
79	test_gr_immed	0x7fff,gr9
80	test_gr_limmed	0xaaaa,0xaaaa,gr7
81	test_gr_limmed	0x5555,0x5555,gr8
82
83	set_gr_limmed	0xaaaa,0xaaab,gr7
84	set_gr_limmed	0x5555,0x5555,gr8
85	cscan 		gr7,gr8,gr9,cc0,0
86	test_gr_immed	0x7fff,gr9
87	test_gr_limmed	0xaaaa,0xaaab,gr7
88	test_gr_limmed	0x5555,0x5555,gr8
89
90	set_gr_limmed	0x5555,0x5555,gr7
91	set_gr_limmed	0x5555,0x5555,gr8
92	cscan 		gr7,gr8,gr9,cc0,0
93	test_gr_immed	0x7fff,gr9
94	test_gr_limmed	0x5555,0x5555,gr7
95	test_gr_limmed	0x5555,0x5555,gr8
96
97	set_gr_limmed	0x5555,0x5555,gr7
98	set_gr_limmed	0x5555,0x5554,gr8
99	cscan 		gr7,gr8,gr9,cc0,0
100	test_gr_immed	0x7fff,gr9
101	test_gr_limmed	0x5555,0x5555,gr7
102	test_gr_limmed	0x5555,0x5554,gr8
103
104	set_gr_limmed	0xffff,0xffff,gr7
105	set_gr_limmed	0x7fff,0xffff,gr8
106	cscan 		gr7,gr8,gr9,cc0,0
107	test_gr_immed	0x7fff,gr9
108	test_gr_limmed	0xffff,0xffff,gr7
109	test_gr_limmed	0x7fff,0xffff,gr8
110
111	set_gr_limmed	0xffff,0xffff,gr7
112	set_gr_limmed	0xbfff,0xffff,gr8
113	cscan 		gr7,gr8,gr9,cc4,0
114	test_gr_immed	0x7fff,gr9
115	test_gr_limmed	0xffff,0xffff,gr7
116	test_gr_limmed	0xbfff,0xffff,gr8
117
118	set_gr_limmed	0xffff,0xffff,gr7
119	set_gr_limmed	0xfffe,0xffff,gr8
120	cscan 		gr7,gr8,gr9,cc4,0
121	test_gr_immed	0x7fff,gr9
122	test_gr_limmed	0xffff,0xffff,gr7
123	test_gr_limmed	0xfffe,0xffff,gr8
124
125	set_gr_limmed	0xffff,0xffff,gr7
126	set_gr_limmed	0xffff,0xfffd,gr8
127	cscan 		gr7,gr8,gr9,cc4,0
128	test_gr_immed	0x7fff,gr9
129	test_gr_limmed	0xffff,0xffff,gr7
130	test_gr_limmed	0xffff,0xfffd,gr8
131
132	set_gr_limmed	0xdead,0xbeef,gr7
133	set_gr_limmed	0xbeef,0xdead,gr8
134	cscan 		gr7,gr8,gr9,cc4,0
135	test_gr_immed	0x7fff,gr9
136	test_gr_limmed	0xdead,0xbeef,gr7
137	test_gr_limmed	0xbeef,0xdead,gr8
138
139	set_gr_limmed	0x2aaa,0xaaaa,gr7
140	set_gr_limmed	0xaaaa,0xaaaa,gr8
141	cscan 		gr7,gr8,gr9,cc1,0
142	test_gr_immed	0,gr9
143	test_gr_limmed	0x2aaa,0xaaaa,gr7
144	test_gr_limmed	0xaaaa,0xaaaa,gr8
145
146	set_gr_limmed	0x2aaa,0xaaaa,gr7
147	set_gr_limmed	0xaaaa,0xaaab,gr8
148	cscan 		gr7,gr8,gr9,cc1,0
149	test_gr_immed	0,gr9
150	test_gr_limmed	0x2aaa,0xaaaa,gr7
151	test_gr_limmed	0xaaaa,0xaaab,gr8
152
153	set_gr_limmed	0xd555,0x5555,gr7
154	set_gr_limmed	0xaaaa,0xaaaa,gr8
155	cscan 		gr7,gr8,gr9,cc1,0
156	test_gr_immed	63,gr9
157	test_gr_limmed	0xd555,0x5555,gr7
158	test_gr_limmed	0xaaaa,0xaaaa,gr8
159
160	set_gr_limmed	0xd555,0x5555,gr7
161	set_gr_limmed	0xaaaa,0xaaab,gr8
162	cscan 		gr7,gr8,gr9,cc1,0
163	test_gr_immed	63,gr9
164	test_gr_limmed	0xd555,0x5555,gr7
165	test_gr_limmed	0xaaaa,0xaaab,gr8
166
167	set_gr_limmed	0xffff,0xffff,gr7
168	set_gr_limmed	0x7fff,0xffff,gr8
169	cscan 		gr7,gr8,gr9,cc1,0
170	test_gr_immed	0,gr9
171	test_gr_limmed	0xffff,0xffff,gr7
172	test_gr_limmed	0x7fff,0xffff,gr8
173
174	set_gr_limmed	0xffff,0xffff,gr7
175	set_gr_limmed	0xbfff,0xffff,gr8
176	cscan 		gr7,gr8,gr9,cc5,0
177	test_gr_immed	2,gr9
178	test_gr_limmed	0xffff,0xffff,gr7
179	test_gr_limmed	0xbfff,0xffff,gr8
180
181	set_gr_limmed	0xffff,0xffff,gr7
182	set_gr_limmed	0xfffe,0xffff,gr8
183	cscan 		gr7,gr8,gr9,cc5,0
184	test_gr_immed	16,gr9
185	test_gr_limmed	0xffff,0xffff,gr7
186	test_gr_limmed	0xfffe,0xffff,gr8
187
188	set_gr_limmed	0xffff,0xffff,gr7
189	set_gr_limmed	0xffff,0xfffd,gr8
190	cscan 		gr7,gr8,gr9,cc5,0
191	test_gr_immed	31,gr9
192	test_gr_limmed	0xffff,0xffff,gr7
193	test_gr_limmed	0xffff,0xfffd,gr8
194
195	set_gr_limmed	0xdead,0xbeef,gr7
196	set_gr_limmed	0xbeef,0xdead,gr8
197	cscan 		gr7,gr8,gr9,cc5,0
198	test_gr_immed	7,gr9
199	test_gr_limmed	0xdead,0xbeef,gr7
200	test_gr_limmed	0xbeef,0xdead,gr8
201
202	set_gr_immed	0x7fff,gr9
203	set_gr_limmed	0xaaaa,0xaaaa,gr7
204	set_gr_limmed	0x5555,0x5555,gr8
205	cscan 		gr7,gr8,gr9,cc1,1
206	test_gr_immed	0x7fff,gr9
207	test_gr_limmed	0xaaaa,0xaaaa,gr7
208	test_gr_limmed	0x5555,0x5555,gr8
209
210	set_gr_limmed	0xaaaa,0xaaab,gr7
211	set_gr_limmed	0x5555,0x5555,gr8
212	cscan 		gr7,gr8,gr9,cc1,1
213	test_gr_immed	0x7fff,gr9
214	test_gr_limmed	0xaaaa,0xaaab,gr7
215	test_gr_limmed	0x5555,0x5555,gr8
216
217	set_gr_limmed	0x5555,0x5555,gr7
218	set_gr_limmed	0x5555,0x5555,gr8
219	cscan 		gr7,gr8,gr9,cc1,1
220	test_gr_immed	0x7fff,gr9
221	test_gr_limmed	0x5555,0x5555,gr7
222	test_gr_limmed	0x5555,0x5555,gr8
223
224	set_gr_limmed	0x5555,0x5555,gr7
225	set_gr_limmed	0x5555,0x5554,gr8
226	cscan 		gr7,gr8,gr9,cc1,1
227	test_gr_immed	0x7fff,gr9
228	test_gr_limmed	0x5555,0x5555,gr7
229	test_gr_limmed	0x5555,0x5554,gr8
230
231	set_gr_limmed	0xffff,0xffff,gr7
232	set_gr_limmed	0x7fff,0xffff,gr8
233	cscan 		gr7,gr8,gr9,cc1,1
234	test_gr_immed	0x7fff,gr9
235	test_gr_limmed	0xffff,0xffff,gr7
236	test_gr_limmed	0x7fff,0xffff,gr8
237
238	set_gr_limmed	0xffff,0xffff,gr7
239	set_gr_limmed	0xbfff,0xffff,gr8
240	cscan 		gr7,gr8,gr9,cc5,1
241	test_gr_immed	0x7fff,gr9
242	test_gr_limmed	0xffff,0xffff,gr7
243	test_gr_limmed	0xbfff,0xffff,gr8
244
245	set_gr_limmed	0xffff,0xffff,gr7
246	set_gr_limmed	0xfffe,0xffff,gr8
247	cscan 		gr7,gr8,gr9,cc5,1
248	test_gr_immed	0x7fff,gr9
249	test_gr_limmed	0xffff,0xffff,gr7
250	test_gr_limmed	0xfffe,0xffff,gr8
251
252	set_gr_limmed	0xffff,0xffff,gr7
253	set_gr_limmed	0xffff,0xfffd,gr8
254	cscan 		gr7,gr8,gr9,cc5,1
255	test_gr_immed	0x7fff,gr9
256	test_gr_limmed	0xffff,0xffff,gr7
257	test_gr_limmed	0xffff,0xfffd,gr8
258
259	set_gr_limmed	0xdead,0xbeef,gr7
260	set_gr_limmed	0xbeef,0xdead,gr8
261	cscan 		gr7,gr8,gr9,cc5,1
262	test_gr_immed	0x7fff,gr9
263	test_gr_limmed	0xdead,0xbeef,gr7
264	test_gr_limmed	0xbeef,0xdead,gr8
265
266	set_gr_immed	0x7fff,gr9
267	set_gr_limmed	0xaaaa,0xaaaa,gr7
268	set_gr_limmed	0x5555,0x5555,gr8
269	cscan 		gr7,gr8,gr9,cc2,0
270	test_gr_immed	0x7fff,gr9
271	test_gr_limmed	0xaaaa,0xaaaa,gr7
272	test_gr_limmed	0x5555,0x5555,gr8
273
274	set_gr_limmed	0xaaaa,0xaaab,gr7
275	set_gr_limmed	0x5555,0x5555,gr8
276	cscan 		gr7,gr8,gr9,cc2,1
277	test_gr_immed	0x7fff,gr9
278	test_gr_limmed	0xaaaa,0xaaab,gr7
279	test_gr_limmed	0x5555,0x5555,gr8
280
281	set_gr_limmed	0x5555,0x5555,gr7
282	set_gr_limmed	0x5555,0x5555,gr8
283	cscan 		gr7,gr8,gr9,cc2,0
284	test_gr_immed	0x7fff,gr9
285	test_gr_limmed	0x5555,0x5555,gr7
286	test_gr_limmed	0x5555,0x5555,gr8
287
288	set_gr_limmed	0x5555,0x5555,gr7
289	set_gr_limmed	0x5555,0x5554,gr8
290	cscan 		gr7,gr8,gr9,cc2,1
291	test_gr_immed	0x7fff,gr9
292	test_gr_limmed	0x5555,0x5555,gr7
293	test_gr_limmed	0x5555,0x5554,gr8
294
295	set_gr_limmed	0xffff,0xffff,gr7
296	set_gr_limmed	0x7fff,0xffff,gr8
297	cscan 		gr7,gr8,gr9,cc2,0
298	test_gr_immed	0x7fff,gr9
299	test_gr_limmed	0xffff,0xffff,gr7
300	test_gr_limmed	0x7fff,0xffff,gr8
301
302	set_gr_limmed	0xffff,0xffff,gr7
303	set_gr_limmed	0xbfff,0xffff,gr8
304	cscan 		gr7,gr8,gr9,cc6,1
305	test_gr_immed	0x7fff,gr9
306	test_gr_limmed	0xffff,0xffff,gr7
307	test_gr_limmed	0xbfff,0xffff,gr8
308
309	set_gr_limmed	0xffff,0xffff,gr7
310	set_gr_limmed	0xfffe,0xffff,gr8
311	cscan 		gr7,gr8,gr9,cc6,0
312	test_gr_immed	0x7fff,gr9
313	test_gr_limmed	0xffff,0xffff,gr7
314	test_gr_limmed	0xfffe,0xffff,gr8
315
316	set_gr_limmed	0xffff,0xffff,gr7
317	set_gr_limmed	0xffff,0xfffd,gr8
318	cscan 		gr7,gr8,gr9,cc6,1
319	test_gr_immed	0x7fff,gr9
320	test_gr_limmed	0xffff,0xffff,gr7
321	test_gr_limmed	0xffff,0xfffd,gr8
322
323	set_gr_limmed	0xdead,0xbeef,gr7
324	set_gr_limmed	0xbeef,0xdead,gr8
325	cscan 		gr7,gr8,gr9,cc6,0
326	test_gr_immed	0x7fff,gr9
327	test_gr_limmed	0xdead,0xbeef,gr7
328	test_gr_limmed	0xbeef,0xdead,gr8
329
330	set_gr_immed	0x7fff,gr9
331	set_gr_limmed	0xaaaa,0xaaaa,gr7
332	set_gr_limmed	0x5555,0x5555,gr8
333	cscan 		gr7,gr8,gr9,cc3,1
334	test_gr_immed	0x7fff,gr9
335	test_gr_limmed	0xaaaa,0xaaaa,gr7
336	test_gr_limmed	0x5555,0x5555,gr8
337
338	set_gr_limmed	0xaaaa,0xaaab,gr7
339	set_gr_limmed	0x5555,0x5555,gr8
340	cscan 		gr7,gr8,gr9,cc3,0
341	test_gr_immed	0x7fff,gr9
342	test_gr_limmed	0xaaaa,0xaaab,gr7
343	test_gr_limmed	0x5555,0x5555,gr8
344
345	set_gr_limmed	0x5555,0x5555,gr7
346	set_gr_limmed	0x5555,0x5555,gr8
347	cscan 		gr7,gr8,gr9,cc3,1
348	test_gr_immed	0x7fff,gr9
349	test_gr_limmed	0x5555,0x5555,gr7
350	test_gr_limmed	0x5555,0x5555,gr8
351
352	set_gr_limmed	0x5555,0x5555,gr7
353	set_gr_limmed	0x5555,0x5554,gr8
354	cscan 		gr7,gr8,gr9,cc3,0
355	test_gr_immed	0x7fff,gr9
356	test_gr_limmed	0x5555,0x5555,gr7
357	test_gr_limmed	0x5555,0x5554,gr8
358
359	set_gr_limmed	0xffff,0xffff,gr7
360	set_gr_limmed	0x7fff,0xffff,gr8
361	cscan 		gr7,gr8,gr9,cc3,1
362	test_gr_immed	0x7fff,gr9
363	test_gr_limmed	0xffff,0xffff,gr7
364	test_gr_limmed	0x7fff,0xffff,gr8
365
366	set_gr_limmed	0xffff,0xffff,gr7
367	set_gr_limmed	0xbfff,0xffff,gr8
368	cscan 		gr7,gr8,gr9,cc7,0
369	test_gr_immed	0x7fff,gr9
370	test_gr_limmed	0xffff,0xffff,gr7
371	test_gr_limmed	0xbfff,0xffff,gr8
372
373	set_gr_limmed	0xffff,0xffff,gr7
374	set_gr_limmed	0xfffe,0xffff,gr8
375	cscan 		gr7,gr8,gr9,cc7,1
376	test_gr_immed	0x7fff,gr9
377	test_gr_limmed	0xffff,0xffff,gr7
378	test_gr_limmed	0xfffe,0xffff,gr8
379
380	set_gr_limmed	0xffff,0xffff,gr7
381	set_gr_limmed	0xffff,0xfffd,gr8
382	cscan 		gr7,gr8,gr9,cc7,0
383	test_gr_immed	0x7fff,gr9
384	test_gr_limmed	0xffff,0xffff,gr7
385	test_gr_limmed	0xffff,0xfffd,gr8
386
387	set_gr_limmed	0xdead,0xbeef,gr7
388	set_gr_limmed	0xbeef,0xdead,gr8
389	cscan 		gr7,gr8,gr9,cc7,1
390	test_gr_immed	0x7fff,gr9
391	test_gr_limmed	0xdead,0xbeef,gr7
392	test_gr_limmed	0xbeef,0xdead,gr8
393
394	pass
395