2 /* { dg-options "-O2 -mpaired-single" } */
4 /* Test MIPS paired-single conditional move */
8 typedef float v2sf
__attribute__((vector_size(8)));
10 NOMIPS16 v2sf
test0 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
11 NOMIPS16 v2sf
test1 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
12 NOMIPS16 v2sf
test2 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
13 NOMIPS16 v2sf
test3 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
14 NOMIPS16 v2sf
test4 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
15 NOMIPS16 v2sf
test5 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
16 NOMIPS16 v2sf
test6 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
17 NOMIPS16 v2sf
test7 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
18 NOMIPS16 v2sf
test8 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
19 NOMIPS16 v2sf
test9 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
20 NOMIPS16 v2sf
test10 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
21 NOMIPS16 v2sf
test11 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
22 NOMIPS16 v2sf
test12 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
23 NOMIPS16 v2sf
test13 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
24 NOMIPS16 v2sf
test14 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
25 NOMIPS16 v2sf
test15 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
26 NOMIPS16 v2sf
test16 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
27 NOMIPS16 v2sf
test17 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
28 NOMIPS16 v2sf
test18 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
29 NOMIPS16 v2sf
test19 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
30 NOMIPS16 v2sf
test20 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
31 NOMIPS16 v2sf
test21 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
32 NOMIPS16 v2sf
test22 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
33 NOMIPS16 v2sf
test23 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
34 NOMIPS16 v2sf
test24 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
35 NOMIPS16 v2sf
test25 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
36 NOMIPS16 v2sf
test26 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
37 NOMIPS16 v2sf
test27 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
38 NOMIPS16 v2sf
test28 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
39 NOMIPS16 v2sf
test29 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
40 NOMIPS16 v2sf
test30 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
41 NOMIPS16 v2sf
test31 (v2sf a
, v2sf b
, v2sf c
, v2sf d
);
43 float qnan
= 1.0f
/0.0f
- 1.0f
/0.0f
;
48 v2sf a
, b
, c
, d
, e
, f
;
50 /* Case 1 {diff, diff} */
56 e
= __builtin_mips_movt_c_eq_ps (a
, b
, c
, d
);
58 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
59 !__builtin_mips_lower_c_eq_ps (e
, f
))
63 e
= __builtin_mips_movf_c_eq_ps (a
, b
, c
, d
);
65 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
66 !__builtin_mips_lower_c_eq_ps (e
, f
))
69 /* Case 2 {same, diff} */
75 e
= __builtin_mips_movt_c_eq_ps (a
, b
, c
, d
);
77 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
78 !__builtin_mips_lower_c_eq_ps (e
, f
))
82 e
= __builtin_mips_movf_c_eq_ps (a
, b
, c
, d
);
84 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
85 !__builtin_mips_lower_c_eq_ps (e
, f
))
88 /* Case 3 {diff, same} */
94 e
= __builtin_mips_movt_c_eq_ps (a
, b
, c
, d
);
96 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
97 !__builtin_mips_lower_c_eq_ps (e
, f
))
101 e
= __builtin_mips_movf_c_eq_ps (a
, b
, c
, d
);
103 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
104 !__builtin_mips_lower_c_eq_ps (e
, f
))
107 /* Case 4 {same, same} */
111 c
= (v2sf
) {33, 123};
113 e
= __builtin_mips_movt_c_eq_ps (a
, b
, c
, d
);
115 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
116 !__builtin_mips_lower_c_eq_ps (e
, f
))
120 e
= __builtin_mips_movf_c_eq_ps (a
, b
, c
, d
);
121 f
= (v2sf
) {33, 123};
122 if (!__builtin_mips_upper_c_eq_ps (e
, f
) ||
123 !__builtin_mips_lower_c_eq_ps (e
, f
))
126 /* Test all 16 operators */
127 a
= (v2sf
) {123, 123};
128 b
= (v2sf
) {1000, 1000};
129 c
= (v2sf
) {33, 123};
131 e
= test0 (a
, b
, c
, d
);
132 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
133 !__builtin_mips_lower_c_eq_ps (e
, c
))
135 e
= test1 (a
, b
, c
, d
);
136 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
137 !__builtin_mips_lower_c_eq_ps (e
, d
))
140 e
= test2 (a
, b
, c
, d
);
141 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
142 !__builtin_mips_lower_c_eq_ps (e
, c
))
144 e
= test3 (a
, b
, c
, d
);
145 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
146 !__builtin_mips_lower_c_eq_ps (e
, d
))
149 e
= test4 (a
, b
, c
, d
);
150 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
151 !__builtin_mips_lower_c_eq_ps (e
, c
))
153 e
= test5 (a
, b
, c
, d
);
154 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
155 !__builtin_mips_lower_c_eq_ps (e
, d
))
158 e
= test6 (a
, b
, c
, d
);
159 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
160 !__builtin_mips_lower_c_eq_ps (e
, c
))
162 e
= test7 (a
, b
, c
, d
);
163 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
164 !__builtin_mips_lower_c_eq_ps (e
, d
))
167 e
= test8 (a
, b
, c
, d
);
168 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
169 !__builtin_mips_lower_c_eq_ps (e
, d
))
171 e
= test9 (a
, b
, c
, d
);
172 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
173 !__builtin_mips_lower_c_eq_ps (e
, c
))
176 e
= test10 (a
, b
, c
, d
);
177 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
178 !__builtin_mips_lower_c_eq_ps (e
, d
))
180 e
= test11 (a
, b
, c
, d
);
181 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
182 !__builtin_mips_lower_c_eq_ps (e
, c
))
185 e
= test12 (a
, b
, c
, d
);
186 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
187 !__builtin_mips_lower_c_eq_ps (e
, d
))
189 e
= test13 (a
, b
, c
, d
);
190 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
191 !__builtin_mips_lower_c_eq_ps (e
, c
))
194 e
= test14 (a
, b
, c
, d
);
195 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
196 !__builtin_mips_lower_c_eq_ps (e
, d
))
198 e
= test15 (a
, b
, c
, d
);
199 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
200 !__builtin_mips_lower_c_eq_ps (e
, c
))
203 e
= test16 (a
, b
, c
, d
);
204 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
205 !__builtin_mips_lower_c_eq_ps (e
, c
))
207 e
= test17 (a
, b
, c
, d
);
208 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
209 !__builtin_mips_lower_c_eq_ps (e
, d
))
212 e
= test18 (a
, b
, c
, d
);
213 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
214 !__builtin_mips_lower_c_eq_ps (e
, c
))
216 e
= test19 (a
, b
, c
, d
);
217 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
218 !__builtin_mips_lower_c_eq_ps (e
, d
))
221 e
= test20 (a
, b
, c
, d
);
222 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
223 !__builtin_mips_lower_c_eq_ps (e
, c
))
225 e
= test21 (a
, b
, c
, d
);
226 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
227 !__builtin_mips_lower_c_eq_ps (e
, d
))
230 e
= test22 (a
, b
, c
, d
);
231 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
232 !__builtin_mips_lower_c_eq_ps (e
, c
))
234 e
= test23 (a
, b
, c
, d
);
235 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
236 !__builtin_mips_lower_c_eq_ps (e
, d
))
239 e
= test24 (a
, b
, c
, d
);
240 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
241 !__builtin_mips_lower_c_eq_ps (e
, d
))
243 e
= test25 (a
, b
, c
, d
);
244 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
245 !__builtin_mips_lower_c_eq_ps (e
, c
))
248 e
= test26 (a
, b
, c
, d
);
249 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
250 !__builtin_mips_lower_c_eq_ps (e
, d
))
252 e
= test27 (a
, b
, c
, d
);
253 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
254 !__builtin_mips_lower_c_eq_ps (e
, c
))
257 e
= test28 (a
, b
, c
, d
);
258 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
259 !__builtin_mips_lower_c_eq_ps (e
, d
))
261 e
= test29 (a
, b
, c
, d
);
262 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
263 !__builtin_mips_lower_c_eq_ps (e
, c
))
266 e
= test30 (a
, b
, c
, d
);
267 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
268 !__builtin_mips_lower_c_eq_ps (e
, d
))
270 e
= test31 (a
, b
, c
, d
);
271 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
272 !__builtin_mips_lower_c_eq_ps (e
, c
))
275 /* Test all 16 operators with (b, a) */
276 a
= (v2sf
) {123, 123};
277 b
= (v2sf
) {1000, 1000};
278 c
= (v2sf
) {33, 123};
280 e
= test0 (b
, a
, c
, d
);
281 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
282 !__builtin_mips_lower_c_eq_ps (e
, c
))
284 e
= test1 (b
, a
, c
, d
);
285 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
286 !__builtin_mips_lower_c_eq_ps (e
, d
))
289 e
= test2 (b
, a
, c
, d
);
290 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
291 !__builtin_mips_lower_c_eq_ps (e
, c
))
293 e
= test3 (b
, a
, c
, d
);
294 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
295 !__builtin_mips_lower_c_eq_ps (e
, d
))
298 e
= test4 (b
, a
, c
, d
);
299 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
300 !__builtin_mips_lower_c_eq_ps (e
, c
))
302 e
= test5 (b
, a
, c
, d
);
303 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
304 !__builtin_mips_lower_c_eq_ps (e
, d
))
307 e
= test6 (b
, a
, c
, d
);
308 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
309 !__builtin_mips_lower_c_eq_ps (e
, c
))
311 e
= test7 (b
, a
, c
, d
);
312 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
313 !__builtin_mips_lower_c_eq_ps (e
, d
))
316 e
= test8 (b
, a
, c
, d
);
317 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
318 !__builtin_mips_lower_c_eq_ps (e
, c
))
320 e
= test9 (b
, a
, c
, d
);
321 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
322 !__builtin_mips_lower_c_eq_ps (e
, d
))
325 e
= test10 (b
, a
, c
, d
);
326 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
327 !__builtin_mips_lower_c_eq_ps (e
, c
))
329 e
= test11 (b
, a
, c
, d
);
330 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
331 !__builtin_mips_lower_c_eq_ps (e
, d
))
334 e
= test12 (b
, a
, c
, d
);
335 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
336 !__builtin_mips_lower_c_eq_ps (e
, c
))
338 e
= test13 (b
, a
, c
, d
);
339 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
340 !__builtin_mips_lower_c_eq_ps (e
, d
))
343 e
= test14 (b
, a
, c
, d
);
344 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
345 !__builtin_mips_lower_c_eq_ps (e
, c
))
347 e
= test15 (b
, a
, c
, d
);
348 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
349 !__builtin_mips_lower_c_eq_ps (e
, d
))
352 e
= test16 (b
, a
, c
, d
);
353 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
354 !__builtin_mips_lower_c_eq_ps (e
, c
))
356 e
= test17 (b
, a
, c
, d
);
357 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
358 !__builtin_mips_lower_c_eq_ps (e
, d
))
361 e
= test18 (b
, a
, c
, d
);
362 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
363 !__builtin_mips_lower_c_eq_ps (e
, c
))
365 e
= test19 (b
, a
, c
, d
);
366 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
367 !__builtin_mips_lower_c_eq_ps (e
, d
))
370 e
= test20 (b
, a
, c
, d
);
371 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
372 !__builtin_mips_lower_c_eq_ps (e
, c
))
374 e
= test21 (b
, a
, c
, d
);
375 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
376 !__builtin_mips_lower_c_eq_ps (e
, d
))
379 e
= test22 (b
, a
, c
, d
);
380 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
381 !__builtin_mips_lower_c_eq_ps (e
, c
))
383 e
= test23 (b
, a
, c
, d
);
384 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
385 !__builtin_mips_lower_c_eq_ps (e
, d
))
388 e
= test24 (b
, a
, c
, d
);
389 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
390 !__builtin_mips_lower_c_eq_ps (e
, c
))
392 e
= test25 (b
, a
, c
, d
);
393 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
394 !__builtin_mips_lower_c_eq_ps (e
, d
))
397 e
= test26 (b
, a
, c
, d
);
398 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
399 !__builtin_mips_lower_c_eq_ps (e
, c
))
401 e
= test27 (b
, a
, c
, d
);
402 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
403 !__builtin_mips_lower_c_eq_ps (e
, d
))
406 e
= test28 (b
, a
, c
, d
);
407 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
408 !__builtin_mips_lower_c_eq_ps (e
, c
))
410 e
= test29 (b
, a
, c
, d
);
411 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
412 !__builtin_mips_lower_c_eq_ps (e
, d
))
415 e
= test30 (b
, a
, c
, d
);
416 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
417 !__builtin_mips_lower_c_eq_ps (e
, c
))
419 e
= test31 (b
, a
, c
, d
);
420 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
421 !__builtin_mips_lower_c_eq_ps (e
, d
))
424 #ifndef __FAST_MATH__
426 a
= (v2sf
) {qnan
, qnan
};
427 b
= (v2sf
) {1000, 1000};
428 c
= (v2sf
) {33, 123};
430 e
= test0 (a
, b
, c
, d
);
431 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
432 !__builtin_mips_lower_c_eq_ps (e
, c
))
434 e
= test1 (a
, b
, c
, d
);
435 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
436 !__builtin_mips_lower_c_eq_ps (e
, d
))
439 e
= test2 (a
, b
, c
, d
);
440 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
441 !__builtin_mips_lower_c_eq_ps (e
, d
))
443 e
= test3 (a
, b
, c
, d
);
444 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
445 !__builtin_mips_lower_c_eq_ps (e
, c
))
448 e
= test4 (a
, b
, c
, d
);
449 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
450 !__builtin_mips_lower_c_eq_ps (e
, c
))
452 e
= test5 (a
, b
, c
, d
);
453 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
454 !__builtin_mips_lower_c_eq_ps (e
, d
))
457 e
= test6 (a
, b
, c
, d
);
458 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
459 !__builtin_mips_lower_c_eq_ps (e
, d
))
461 e
= test7 (a
, b
, c
, d
);
462 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
463 !__builtin_mips_lower_c_eq_ps (e
, c
))
466 e
= test8 (a
, b
, c
, d
);
467 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
468 !__builtin_mips_lower_c_eq_ps (e
, c
))
470 e
= test9 (a
, b
, c
, d
);
471 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
472 !__builtin_mips_lower_c_eq_ps (e
, d
))
475 e
= test10 (a
, b
, c
, d
);
476 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
477 !__builtin_mips_lower_c_eq_ps (e
, d
))
479 e
= test11 (a
, b
, c
, d
);
480 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
481 !__builtin_mips_lower_c_eq_ps (e
, c
))
484 e
= test12 (a
, b
, c
, d
);
485 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
486 !__builtin_mips_lower_c_eq_ps (e
, c
))
488 e
= test13 (a
, b
, c
, d
);
489 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
490 !__builtin_mips_lower_c_eq_ps (e
, d
))
493 e
= test14 (a
, b
, c
, d
);
494 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
495 !__builtin_mips_lower_c_eq_ps (e
, d
))
497 e
= test15 (a
, b
, c
, d
);
498 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
499 !__builtin_mips_lower_c_eq_ps (e
, c
))
502 e
= test16 (a
, b
, c
, d
);
503 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
504 !__builtin_mips_lower_c_eq_ps (e
, c
))
506 e
= test17 (a
, b
, c
, d
);
507 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
508 !__builtin_mips_lower_c_eq_ps (e
, d
))
511 e
= test18 (a
, b
, c
, d
);
512 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
513 !__builtin_mips_lower_c_eq_ps (e
, d
))
515 e
= test19 (a
, b
, c
, d
);
516 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
517 !__builtin_mips_lower_c_eq_ps (e
, c
))
520 e
= test20 (a
, b
, c
, d
);
521 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
522 !__builtin_mips_lower_c_eq_ps (e
, c
))
524 e
= test21 (a
, b
, c
, d
);
525 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
526 !__builtin_mips_lower_c_eq_ps (e
, d
))
529 e
= test22 (a
, b
, c
, d
);
530 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
531 !__builtin_mips_lower_c_eq_ps (e
, d
))
533 e
= test23 (a
, b
, c
, d
);
534 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
535 !__builtin_mips_lower_c_eq_ps (e
, c
))
538 e
= test24 (a
, b
, c
, d
);
539 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
540 !__builtin_mips_lower_c_eq_ps (e
, c
))
542 e
= test25 (a
, b
, c
, d
);
543 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
544 !__builtin_mips_lower_c_eq_ps (e
, d
))
547 e
= test26 (a
, b
, c
, d
);
548 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
549 !__builtin_mips_lower_c_eq_ps (e
, d
))
551 e
= test27 (a
, b
, c
, d
);
552 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
553 !__builtin_mips_lower_c_eq_ps (e
, c
))
556 e
= test28 (a
, b
, c
, d
);
557 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
558 !__builtin_mips_lower_c_eq_ps (e
, c
))
560 e
= test29 (a
, b
, c
, d
);
561 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
562 !__builtin_mips_lower_c_eq_ps (e
, d
))
565 e
= test30 (a
, b
, c
, d
);
566 if (!__builtin_mips_upper_c_eq_ps (e
, d
) ||
567 !__builtin_mips_lower_c_eq_ps (e
, d
))
569 e
= test31 (a
, b
, c
, d
);
570 if (!__builtin_mips_upper_c_eq_ps (e
, c
) ||
571 !__builtin_mips_lower_c_eq_ps (e
, c
))
575 printf ("Test Passes\n");
579 NOMIPS16 v2sf
test0 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
581 return __builtin_mips_movt_c_f_ps (a
, b
, c
, d
);
584 NOMIPS16 v2sf
test1 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
586 return __builtin_mips_movf_c_f_ps (a
, b
, c
, d
);
589 NOMIPS16 v2sf
test2 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
591 return __builtin_mips_movt_c_un_ps (a
, b
, c
, d
);
594 NOMIPS16 v2sf
test3 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
596 return __builtin_mips_movf_c_un_ps (a
, b
, c
, d
);
599 NOMIPS16 v2sf
test4 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
601 return __builtin_mips_movt_c_eq_ps (a
, b
, c
, d
);
604 NOMIPS16 v2sf
test5 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
606 return __builtin_mips_movf_c_eq_ps (a
, b
, c
, d
);
609 NOMIPS16 v2sf
test6 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
611 return __builtin_mips_movt_c_ueq_ps (a
, b
, c
, d
);
614 NOMIPS16 v2sf
test7 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
616 return __builtin_mips_movf_c_ueq_ps (a
, b
, c
, d
);
619 NOMIPS16 v2sf
test8 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
621 return __builtin_mips_movt_c_olt_ps (a
, b
, c
, d
);
624 NOMIPS16 v2sf
test9 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
626 return __builtin_mips_movf_c_olt_ps (a
, b
, c
, d
);
629 NOMIPS16 v2sf
test10 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
631 return __builtin_mips_movt_c_ult_ps (a
, b
, c
, d
);
634 NOMIPS16 v2sf
test11 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
636 return __builtin_mips_movf_c_ult_ps (a
, b
, c
, d
);
639 NOMIPS16 v2sf
test12 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
641 return __builtin_mips_movt_c_ole_ps (a
, b
, c
, d
);
644 NOMIPS16 v2sf
test13 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
646 return __builtin_mips_movf_c_ole_ps (a
, b
, c
, d
);
649 NOMIPS16 v2sf
test14 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
651 return __builtin_mips_movt_c_ule_ps (a
, b
, c
, d
);
654 NOMIPS16 v2sf
test15 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
656 return __builtin_mips_movf_c_ule_ps (a
, b
, c
, d
);
659 NOMIPS16 v2sf
test16 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
661 return __builtin_mips_movt_c_sf_ps (a
, b
, c
, d
);
664 NOMIPS16 v2sf
test17 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
666 return __builtin_mips_movf_c_sf_ps (a
, b
, c
, d
);
669 NOMIPS16 v2sf
test18 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
671 return __builtin_mips_movt_c_ngle_ps (a
, b
, c
, d
);
674 NOMIPS16 v2sf
test19 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
676 return __builtin_mips_movf_c_ngle_ps (a
, b
, c
, d
);
679 NOMIPS16 v2sf
test20 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
681 return __builtin_mips_movt_c_seq_ps (a
, b
, c
, d
);
684 NOMIPS16 v2sf
test21 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
686 return __builtin_mips_movf_c_seq_ps (a
, b
, c
, d
);
689 NOMIPS16 v2sf
test22 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
691 return __builtin_mips_movt_c_ngl_ps (a
, b
, c
, d
);
694 NOMIPS16 v2sf
test23 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
696 return __builtin_mips_movf_c_ngl_ps (a
, b
, c
, d
);
699 NOMIPS16 v2sf
test24 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
701 return __builtin_mips_movt_c_lt_ps (a
, b
, c
, d
);
704 NOMIPS16 v2sf
test25 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
706 return __builtin_mips_movf_c_lt_ps (a
, b
, c
, d
);
709 NOMIPS16 v2sf
test26 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
711 return __builtin_mips_movt_c_nge_ps (a
, b
, c
, d
);
714 NOMIPS16 v2sf
test27 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
716 return __builtin_mips_movf_c_nge_ps (a
, b
, c
, d
);
719 NOMIPS16 v2sf
test28 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
721 return __builtin_mips_movt_c_le_ps (a
, b
, c
, d
);
724 NOMIPS16 v2sf
test29 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
726 return __builtin_mips_movf_c_le_ps (a
, b
, c
, d
);
729 NOMIPS16 v2sf
test30 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
731 return __builtin_mips_movt_c_ngt_ps (a
, b
, c
, d
);
734 NOMIPS16 v2sf
test31 (v2sf a
, v2sf b
, v2sf c
, v2sf d
)
736 return __builtin_mips_movf_c_ngt_ps (a
, b
, c
, d
);