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