1# frv testcase for nfmas $FRi,$FRj,$FRk
2# mach: fr500 fr550 frv
3
4	.include "testutils.inc"
5
6	float_constants
7	start
8	load_float_constants
9	load_float_constants1
10
11	.global nfmas
12nfmas:
13	nfmas      	fr16,fr4,fr2
14	test_fr_fr	fr2,fr16
15	test_fr_fr	fr2,fr20
16	test_fr_fr	fr3,fr4
17	test_spr_immed	0,fner1
18	test_spr_immed	0,fner0
19	nfmas      	fr16,fr8,fr2
20	test_fr_fr	fr2,fr16
21	test_fr_fr	fr2,fr20
22	test_fr_fr	fr3,fr8
23	test_spr_immed	0,fner1
24	test_spr_immed	0,fner0
25	nfmas      	fr16,fr12,fr2
26	test_fr_fr	fr2,fr16
27	test_fr_fr	fr2,fr20
28	test_fr_fr	fr3,fr12
29	test_spr_immed	0,fner1
30	test_spr_immed	0,fner0
31	nfmas      	fr16,fr16,fr2
32	test_fr_fr	fr2,fr16
33	test_fr_fr	fr2,fr20
34	test_fr_fr	fr3,fr16
35	test_fr_fr	fr3,fr20
36	test_spr_immed	0,fner1
37	test_spr_immed	0,fner0
38	nfmas      	fr16,fr20,fr2
39	test_fr_fr	fr2,fr16
40	test_fr_fr	fr2,fr20
41	test_fr_fr	fr3,fr16
42	test_fr_fr	fr3,fr20
43	test_spr_immed	0,fner1
44	test_spr_immed	0,fner0
45	nfmas      	fr16,fr24,fr2
46	test_fr_fr	fr2,fr16
47	test_fr_fr	fr2,fr20
48	test_fr_fr	fr3,fr24
49	test_spr_immed	0,fner1
50	test_spr_immed	0,fner0
51	nfmas      	fr16,fr28,fr2
52	test_fr_fr	fr2,fr16
53	test_fr_fr	fr2,fr20
54	test_fr_fr	fr3,fr28
55	test_spr_immed	0,fner1
56	test_spr_immed	0,fner0
57	nfmas      	fr16,fr32,fr2
58	test_fr_fr	fr2,fr16
59	test_fr_fr	fr2,fr20
60	test_fr_fr	fr3,fr32
61	test_spr_immed	0,fner1
62	test_spr_immed	0,fner0
63	nfmas      	fr16,fr36,fr2
64	test_fr_fr	fr2,fr16
65	test_fr_fr	fr2,fr20
66	test_fr_fr	fr3,fr36
67	test_spr_immed	0,fner1
68	test_spr_immed	0,fner0
69	nfmas      	fr16,fr40,fr2
70	test_fr_fr	fr2,fr16
71	test_fr_fr	fr2,fr20
72	test_fr_fr	fr3,fr40
73	test_spr_immed	0,fner1
74	test_spr_immed	0,fner0
75	nfmas      	fr16,fr44,fr2
76	test_fr_fr	fr2,fr16
77	test_fr_fr	fr2,fr20
78	test_fr_fr	fr3,fr44
79	test_spr_immed	0,fner1
80	test_spr_immed	0,fner0
81	nfmas      	fr16,fr48,fr2
82	test_fr_fr	fr2,fr16
83	test_fr_fr	fr2,fr20
84	test_fr_fr	fr3,fr48
85	test_spr_immed	0,fner1
86	test_spr_immed	0,fner0
87
88	nfmas      	fr20,fr4,fr2
89	test_fr_fr	fr2,fr16
90	test_fr_fr	fr2,fr20
91	test_fr_fr	fr3,fr4
92	test_spr_immed	0,fner1
93	test_spr_immed	0,fner0
94	nfmas      	fr20,fr8,fr2
95	test_fr_fr	fr2,fr16
96	test_fr_fr	fr2,fr20
97	test_fr_fr	fr3,fr8
98	test_spr_immed	0,fner1
99	test_spr_immed	0,fner0
100	nfmas      	fr20,fr12,fr2
101	test_fr_fr	fr2,fr16
102	test_fr_fr	fr2,fr20
103	test_fr_fr	fr3,fr12
104	test_spr_immed	0,fner1
105	test_spr_immed	0,fner0
106	nfmas      	fr20,fr16,fr2
107	test_fr_fr	fr2,fr16
108	test_fr_fr	fr2,fr20
109	test_fr_fr	fr3,fr16
110	test_fr_fr	fr3,fr20
111	test_spr_immed	0,fner1
112	test_spr_immed	0,fner0
113	nfmas      	fr20,fr20,fr2
114	test_fr_fr	fr2,fr16
115	test_fr_fr	fr2,fr20
116	test_fr_fr	fr3,fr16
117	test_fr_fr	fr3,fr20
118	test_spr_immed	0,fner1
119	test_spr_immed	0,fner0
120	nfmas      	fr20,fr24,fr2
121	test_fr_fr	fr2,fr16
122	test_fr_fr	fr2,fr20
123	test_fr_fr	fr3,fr24
124	test_spr_immed	0,fner1
125	test_spr_immed	0,fner0
126	nfmas      	fr20,fr28,fr2
127	test_fr_fr	fr2,fr16
128	test_fr_fr	fr2,fr20
129	test_fr_fr	fr3,fr28
130	test_spr_immed	0,fner1
131	test_spr_immed	0,fner0
132	nfmas      	fr20,fr32,fr2
133	test_fr_fr	fr2,fr16
134	test_fr_fr	fr2,fr20
135	test_fr_fr	fr3,fr32
136	test_spr_immed	0,fner1
137	test_spr_immed	0,fner0
138	nfmas      	fr20,fr36,fr2
139	test_fr_fr	fr2,fr16
140	test_fr_fr	fr2,fr20
141	test_fr_fr	fr3,fr36
142	test_spr_immed	0,fner1
143	test_spr_immed	0,fner0
144	nfmas      	fr20,fr40,fr2
145	test_fr_fr	fr2,fr16
146	test_fr_fr	fr2,fr20
147	test_fr_fr	fr3,fr40
148	test_spr_immed	0,fner1
149	test_spr_immed	0,fner0
150	nfmas      	fr20,fr44,fr2
151	test_fr_fr	fr2,fr16
152	test_fr_fr	fr2,fr20
153	test_fr_fr	fr3,fr44
154	test_spr_immed	0,fner1
155	test_spr_immed	0,fner0
156	nfmas      	fr20,fr48,fr2
157	test_fr_fr	fr2,fr16
158	test_fr_fr	fr2,fr20
159	test_fr_fr	fr3,fr48
160	test_spr_immed	0,fner1
161	test_spr_immed	0,fner0
162
163	nfmas      	fr28,fr0,fr2
164	test_fr_fr	fr2,fr0
165	test_spr_immed	0,fner1
166	test_spr_immed	0,fner0
167	nfmas      	fr28,fr4,fr2
168	test_fr_fr	fr2,fr4
169	test_spr_immed	0,fner1
170	test_spr_immed	0,fner0
171	nfmas      	fr28,fr8,fr2
172	test_fr_fr	fr2,fr8
173	test_fr_fr	fr3,fr16
174	test_fr_fr	fr3,fr20
175	test_spr_immed	0,fner1
176	test_spr_immed	0,fner0
177	nfmas      	fr28,fr12,fr2
178	test_fr_fr	fr2,fr12
179	test_spr_immed	0,fner1
180	test_spr_immed	0,fner0
181	nfmas      	fr28,fr16,fr2
182	test_fr_fr	fr2,fr16
183	test_fr_fr	fr2,fr20
184	test_spr_immed	0,fner1
185	test_spr_immed	0,fner0
186	nfmas      	fr28,fr20,fr2
187	test_fr_fr	fr2,fr16
188	test_fr_fr	fr2,fr20
189	test_spr_immed	0,fner1
190	test_spr_immed	0,fner0
191	nfmas      	fr28,fr24,fr2
192	test_fr_fr	fr2,fr24
193	test_spr_immed	0,fner1
194	test_spr_immed	0,fner0
195	nfmas      	fr28,fr28,fr2
196	test_fr_fr	fr2,fr28
197	test_spr_immed	0,fner1
198	test_spr_immed	0,fner0
199	nfmas      	fr28,fr32,fr2
200	test_fr_fr	fr2,fr32
201	test_fr_fr	fr3,fr36
202	test_spr_immed	0,fner1
203	test_spr_immed	0,fner0
204	nfmas      	fr28,fr36,fr2
205	test_fr_fr	fr2,fr36
206	test_spr_immed	0,fner1
207	test_spr_immed	0,fner0
208	nfmas      	fr28,fr40,fr2
209	test_fr_fr	fr2,fr40
210	test_spr_immed	0,fner1
211	test_spr_immed	0,fner0
212	nfmas      	fr28,fr44,fr2
213	test_fr_fr	fr2,fr44
214	test_spr_immed	0,fner1
215	test_spr_immed	0,fner0
216	nfmas      	fr28,fr48,fr2
217	test_fr_fr	fr2,fr48
218	test_spr_immed	0,fner1
219	test_spr_immed	0,fner0
220	nfmas      	fr28,fr52,fr2
221	test_fr_fr	fr2,fr52
222	test_spr_immed	0,fner1
223	test_spr_immed	0,fner0
224
225	nfmas      	fr28,fr8,fr2
226	test_fr_fr	fr2,fr8
227	test_fr_fr	fr3,fr16
228	test_fr_fr	fr3,fr20
229	test_spr_immed	0,fner1
230	test_spr_immed	0,fner0
231	nfmas      	fr8,fr28,fr2
232	test_fr_fr	fr2,fr8
233	test_fr_fr	fr3,fr16
234	test_fr_fr	fr3,fr20
235	test_spr_immed	0,fner1
236	test_spr_immed	0,fner0
237
238	nfmas      	fr32,fr36,fr2
239	test_fr_fr	fr2,fr40
240	test_spr_immed	0,fner1
241	test_spr_immed	0,fner0
242
243	; try to cause exceptions
244	set_spr_immed	0,fner0
245	set_spr_immed	0,fner1
246	nfmas      	fr48,fr28,fr1
247;	test_fr_fr	fr1,fr44
248;	test_fr_fr	fr2,fr44
249	test_spr_immed	0,fner1
250	test_spr_immed	0,fner0
251
252	nfmas      	fr52,fr28,fr1
253;	test_fr_fr	fr1,fr44
254;	test_fr_fr	fr2,fr44
255	test_spr_immed	0,fner1
256	test_spr_immed	0,fner0
257
258	nfmas      	fr56,fr28,fr1
259;	test_fr_fr	fr1,fr44
260;	test_fr_fr	fr2,fr44
261	test_spr_immed	0,fner1
262	test_spr_immed	0,fner0
263
264	nfmas      	fr60,fr28,fr1
265;	test_fr_fr	fr1,fr44
266;	test_fr_fr	fr2,fr44
267	test_spr_immed	6,fner1
268	test_spr_immed	0,fner0
269
270	set_spr_immed	0,fner0
271	set_spr_immed	0,fner1
272	nfmas      	fr48,fr32,fr1
273;	test_fr_fr	fr1,fr44
274;	test_fr_fr	fr2,fr44
275	test_spr_immed	0,fner1
276	test_spr_immed	0,fner0
277
278	nfmas      	fr52,fr28,fr1
279;	test_fr_fr	fr1,fr44
280;	test_fr_fr	fr2,fr44
281	test_spr_immed	0,fner1
282	test_spr_immed	0,fner0
283
284	nfmas      	fr56,fr28,fr1
285;	test_fr_fr	fr1,fr44
286;	test_fr_fr	fr2,fr44
287	test_spr_immed	0,fner1
288	test_spr_immed	0,fner0
289
290	nfmas      	fr60,fr28,fr1
291;	test_fr_fr	fr1,fr44
292;	test_fr_fr	fr2,fr44
293	test_spr_immed	6,fner1
294	test_spr_immed	0,fner0
295
296	pass
297
298