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