1# frv testcase for nfmuls $FRi,$FRj,$FRk
2# mach: fr500 fr550 frv
3
4	.include "testutils.inc"
5
6	float_constants
7	start
8	load_float_constants
9
10	.global nfmuls
11nfmuls:
12	nfmuls      	fr16,fr4,fr1
13	test_fr_fr	fr1,fr16
14	test_fr_fr	fr1,fr20
15	test_spr_immed	0,fner1
16	test_spr_immed	0,fner0
17	nfmuls      	fr16,fr8,fr1
18	test_fr_fr	fr1,fr16
19	test_fr_fr	fr1,fr20
20	test_spr_immed	0,fner1
21	test_spr_immed	0,fner0
22	nfmuls      	fr16,fr12,fr1
23	test_fr_fr	fr1,fr16
24	test_fr_fr	fr1,fr20
25	test_spr_immed	0,fner1
26	test_spr_immed	0,fner0
27	nfmuls      	fr16,fr16,fr1
28	test_fr_fr	fr1,fr16
29	test_fr_fr	fr1,fr20
30	test_spr_immed	0,fner1
31	test_spr_immed	0,fner0
32	nfmuls      	fr16,fr20,fr1
33	test_fr_fr	fr1,fr16
34	test_fr_fr	fr1,fr20
35	test_spr_immed	0,fner1
36	test_spr_immed	0,fner0
37	nfmuls      	fr16,fr24,fr1
38	test_fr_fr	fr1,fr16
39	test_fr_fr	fr1,fr20
40	test_spr_immed	0,fner1
41	test_spr_immed	0,fner0
42	nfmuls      	fr16,fr28,fr1
43	test_fr_fr	fr1,fr16
44	test_fr_fr	fr1,fr20
45	test_spr_immed	0,fner1
46	test_spr_immed	0,fner0
47	nfmuls      	fr16,fr32,fr1
48	test_fr_fr	fr1,fr16
49	test_fr_fr	fr1,fr20
50	test_spr_immed	0,fner1
51	test_spr_immed	0,fner0
52	nfmuls      	fr16,fr36,fr1
53	test_fr_fr	fr1,fr16
54	test_fr_fr	fr1,fr20
55	test_spr_immed	0,fner1
56	test_spr_immed	0,fner0
57	nfmuls      	fr16,fr40,fr1
58	test_fr_fr	fr1,fr16
59	test_fr_fr	fr1,fr20
60	test_spr_immed	0,fner1
61	test_spr_immed	0,fner0
62	nfmuls      	fr16,fr44,fr1
63	test_fr_fr	fr1,fr16
64	test_fr_fr	fr1,fr20
65	test_spr_immed	0,fner1
66	test_spr_immed	0,fner0
67	nfmuls      	fr16,fr48,fr1
68	test_fr_fr	fr1,fr16
69	test_fr_fr	fr1,fr20
70	test_spr_immed	0,fner1
71	test_spr_immed	0,fner0
72
73	nfmuls      	fr20,fr4,fr1
74	test_fr_fr	fr1,fr16
75	test_fr_fr	fr1,fr20
76	test_spr_immed	0,fner1
77	test_spr_immed	0,fner0
78	nfmuls      	fr20,fr8,fr1
79	test_fr_fr	fr1,fr16
80	test_fr_fr	fr1,fr20
81	test_spr_immed	0,fner1
82	test_spr_immed	0,fner0
83	nfmuls      	fr20,fr12,fr1
84	test_fr_fr	fr1,fr16
85	test_fr_fr	fr1,fr20
86	test_spr_immed	0,fner1
87	test_spr_immed	0,fner0
88	nfmuls      	fr20,fr16,fr1
89	test_fr_fr	fr1,fr16
90	test_fr_fr	fr1,fr20
91	test_spr_immed	0,fner1
92	test_spr_immed	0,fner0
93	nfmuls      	fr20,fr20,fr1
94	test_fr_fr	fr1,fr16
95	test_fr_fr	fr1,fr20
96	test_spr_immed	0,fner1
97	test_spr_immed	0,fner0
98	nfmuls      	fr20,fr24,fr1
99	test_fr_fr	fr1,fr16
100	test_fr_fr	fr1,fr20
101	test_spr_immed	0,fner1
102	test_spr_immed	0,fner0
103	nfmuls      	fr20,fr28,fr1
104	test_fr_fr	fr1,fr16
105	test_fr_fr	fr1,fr20
106	test_spr_immed	0,fner1
107	test_spr_immed	0,fner0
108	nfmuls      	fr20,fr32,fr1
109	test_fr_fr	fr1,fr16
110	test_fr_fr	fr1,fr20
111	test_spr_immed	0,fner1
112	test_spr_immed	0,fner0
113	nfmuls      	fr20,fr36,fr1
114	test_fr_fr	fr1,fr16
115	test_fr_fr	fr1,fr20
116	test_spr_immed	0,fner1
117	test_spr_immed	0,fner0
118	nfmuls      	fr20,fr40,fr1
119	test_fr_fr	fr1,fr16
120	test_fr_fr	fr1,fr20
121	test_spr_immed	0,fner1
122	test_spr_immed	0,fner0
123	nfmuls      	fr20,fr44,fr1
124	test_fr_fr	fr1,fr16
125	test_fr_fr	fr1,fr20
126	test_spr_immed	0,fner1
127	test_spr_immed	0,fner0
128	nfmuls      	fr20,fr48,fr1
129	test_fr_fr	fr1,fr16
130	test_fr_fr	fr1,fr20
131	test_spr_immed	0,fner1
132	test_spr_immed	0,fner0
133
134	nfmuls      	fr28,fr0,fr1
135	test_fr_fr	fr1,fr0
136	test_spr_immed	0,fner1
137	test_spr_immed	0,fner0
138	nfmuls      	fr28,fr4,fr1
139	test_fr_fr	fr1,fr4
140	test_spr_immed	0,fner1
141	test_spr_immed	0,fner0
142	nfmuls      	fr28,fr8,fr1
143	test_fr_fr	fr1,fr8
144	test_spr_immed	0,fner1
145	test_spr_immed	0,fner0
146	nfmuls      	fr28,fr12,fr1
147	test_fr_fr	fr1,fr12
148	test_spr_immed	0,fner1
149	test_spr_immed	0,fner0
150	nfmuls      	fr28,fr16,fr1
151	test_fr_fr	fr1,fr16
152	test_fr_fr	fr1,fr20
153	test_spr_immed	0,fner1
154	test_spr_immed	0,fner0
155	nfmuls      	fr28,fr20,fr1
156	test_fr_fr	fr1,fr16
157	test_fr_fr	fr1,fr20
158	test_spr_immed	0,fner1
159	test_spr_immed	0,fner0
160	nfmuls      	fr28,fr24,fr1
161	test_fr_fr	fr1,fr24
162	test_spr_immed	0,fner1
163	test_spr_immed	0,fner0
164	nfmuls      	fr28,fr28,fr1
165	test_fr_fr	fr1,fr28
166	test_spr_immed	0,fner1
167	test_spr_immed	0,fner0
168	nfmuls      	fr28,fr32,fr1
169	test_fr_fr	fr1,fr32
170	test_spr_immed	0,fner1
171	test_spr_immed	0,fner0
172	nfmuls      	fr28,fr36,fr1
173	test_fr_fr	fr1,fr36
174	test_spr_immed	0,fner1
175	test_spr_immed	0,fner0
176	nfmuls      	fr28,fr40,fr1
177	test_fr_fr	fr1,fr40
178	test_spr_immed	0,fner1
179	test_spr_immed	0,fner0
180	nfmuls      	fr28,fr44,fr1
181	test_fr_fr	fr1,fr44
182	test_spr_immed	0,fner1
183	test_spr_immed	0,fner0
184	nfmuls      	fr28,fr48,fr1
185	test_fr_fr	fr1,fr48
186	test_spr_immed	0,fner1
187	test_spr_immed	0,fner0
188	nfmuls      	fr28,fr52,fr1
189	test_fr_fr	fr1,fr52
190	test_spr_immed	0,fner1
191	test_spr_immed	0,fner0
192
193	nfmuls      	fr28,fr8,fr1
194	test_fr_fr	fr1,fr8
195	test_spr_immed	0,fner1
196	test_spr_immed	0,fner0
197	nfmuls      	fr8,fr28,fr1
198	test_fr_fr	fr1,fr8
199	test_spr_immed	0,fner1
200	test_spr_immed	0,fner0
201
202	nfmuls      	fr32,fr36,fr1
203	test_fr_fr	fr1,fr40
204	test_spr_immed	0,fner1
205	test_spr_immed	0,fner0
206
207	; try to cause exceptions
208	nfmuls      	fr48,fr32,fr1
209;	test_fr_fr	fr1,fr44
210	test_spr_immed	0,fner1
211	test_spr_immed	0,fner0
212
213	nfmuls      	fr52,fr28,fr1
214;	test_fr_fr	fr1,fr44
215	test_spr_immed	0,fner1
216	test_spr_immed	0,fner0
217
218	nfmuls      	fr56,fr28,fr1
219;	test_fr_fr	fr1,fr44
220	test_spr_immed	0,fner1
221	test_spr_immed	0,fner0
222
223	nfmuls      	fr60,fr28,fr1
224;	test_fr_fr	fr1,fr44
225	test_spr_immed	2,fner1
226	test_spr_immed	0,fner0
227
228	pass
229