2 /* { dg-options "-O2 -mips3d" } */
4 /* Test MIPS-3D branch-if-any-two builtin functions */
8 typedef float v2sf __attribute__ ((vector_size(8)));
10 NOMIPS16 int test0 (v2sf a, v2sf b);
11 NOMIPS16 int test1 (v2sf a, v2sf b);
12 NOMIPS16 int test2 (v2sf a, v2sf b);
13 NOMIPS16 int test3 (v2sf a, v2sf b);
14 NOMIPS16 int test4 (v2sf a, v2sf b);
15 NOMIPS16 int test5 (v2sf a, v2sf b);
16 NOMIPS16 int test6 (v2sf a, v2sf b);
17 NOMIPS16 int test7 (v2sf a, v2sf b);
18 NOMIPS16 int test8 (v2sf a, v2sf b);
19 NOMIPS16 int test9 (v2sf a, v2sf b);
20 NOMIPS16 int test10 (v2sf a, v2sf b);
21 NOMIPS16 int test11 (v2sf a, v2sf b);
22 NOMIPS16 int test12 (v2sf a, v2sf b);
23 NOMIPS16 int test13 (v2sf a, v2sf b);
24 NOMIPS16 int test14 (v2sf a, v2sf b);
25 NOMIPS16 int test15 (v2sf a, v2sf b);
26 NOMIPS16 int test16 (v2sf a, v2sf b);
27 NOMIPS16 int test17 (v2sf a, v2sf b);
28 NOMIPS16 int test18 (v2sf a, v2sf b);
29 NOMIPS16 int test19 (v2sf a, v2sf b);
30 NOMIPS16 int test20 (v2sf a, v2sf b);
31 NOMIPS16 int test21 (v2sf a, v2sf b);
32 NOMIPS16 int test22 (v2sf a, v2sf b);
33 NOMIPS16 int test23 (v2sf a, v2sf b);
34 NOMIPS16 int test24 (v2sf a, v2sf b);
35 NOMIPS16 int test25 (v2sf a, v2sf b);
36 NOMIPS16 int test26 (v2sf a, v2sf b);
37 NOMIPS16 int test27 (v2sf a, v2sf b);
38 NOMIPS16 int test28 (v2sf a, v2sf b);
39 NOMIPS16 int test29 (v2sf a, v2sf b);
40 NOMIPS16 int test30 (v2sf a, v2sf b);
41 NOMIPS16 int test31 (v2sf a, v2sf b);
43 float qnan = 1.0f/0.0f - 1.0f/0.0f;
55 if (__builtin_mips_any_c_eq_ps(a, b) != i)
57 if (__builtin_mips_all_c_eq_ps(a, b) != j)
65 if (__builtin_mips_any_c_eq_ps(a, b) != i)
67 if (__builtin_mips_all_c_eq_ps(a, b) != j)
75 if (__builtin_mips_any_c_eq_ps(a, b) != i)
77 if (__builtin_mips_all_c_eq_ps(a, b) != j)
85 if (__builtin_mips_any_c_eq_ps(a, b) != i)
87 if (__builtin_mips_all_c_eq_ps(a, b) != j)
90 /* Test with 16 operators */
91 a = (v2sf) {10.58, 1984.0};
92 b = (v2sf) {567.345, 1984.0};
191 /* Reverse arguments */
289 #ifndef __FAST_MATH__
290 /* Test with 16 operators */
291 a = (v2sf) {qnan, qnan};
292 b = (v2sf) {567.345, 1984.0};
392 printf ("Test Passes\n");
396 NOMIPS16 int test0 (v2sf a, v2sf b)
398 return __builtin_mips_any_c_f_ps (a, b);
401 NOMIPS16 int test1 (v2sf a, v2sf b)
403 return __builtin_mips_all_c_f_ps (a, b);
406 NOMIPS16 int test2 (v2sf a, v2sf b)
408 return __builtin_mips_any_c_un_ps (a, b);
411 NOMIPS16 int test3 (v2sf a, v2sf b)
413 return __builtin_mips_all_c_un_ps (a, b);
416 NOMIPS16 int test4 (v2sf a, v2sf b)
418 return __builtin_mips_any_c_eq_ps (a, b);
421 NOMIPS16 int test5 (v2sf a, v2sf b)
423 return __builtin_mips_all_c_eq_ps (a, b);
426 NOMIPS16 int test6 (v2sf a, v2sf b)
428 return __builtin_mips_any_c_ueq_ps (a, b);
431 NOMIPS16 int test7 (v2sf a, v2sf b)
433 return __builtin_mips_all_c_ueq_ps (a, b);
436 NOMIPS16 int test8 (v2sf a, v2sf b)
438 return __builtin_mips_any_c_olt_ps (a, b);
441 NOMIPS16 int test9 (v2sf a, v2sf b)
443 return __builtin_mips_all_c_olt_ps (a, b);
446 NOMIPS16 int test10 (v2sf a, v2sf b)
448 return __builtin_mips_any_c_ult_ps (a, b);
451 NOMIPS16 int test11 (v2sf a, v2sf b)
453 return __builtin_mips_all_c_ult_ps (a, b);
456 NOMIPS16 int test12 (v2sf a, v2sf b)
458 return __builtin_mips_any_c_ole_ps (a, b);
461 NOMIPS16 int test13 (v2sf a, v2sf b)
463 return __builtin_mips_all_c_ole_ps (a, b);
466 NOMIPS16 int test14 (v2sf a, v2sf b)
468 return __builtin_mips_any_c_ule_ps (a, b);
471 NOMIPS16 int test15 (v2sf a, v2sf b)
473 return __builtin_mips_all_c_ule_ps (a, b);
476 NOMIPS16 int test16 (v2sf a, v2sf b)
478 return __builtin_mips_any_c_sf_ps (a, b);
481 NOMIPS16 int test17 (v2sf a, v2sf b)
483 return __builtin_mips_all_c_sf_ps (a, b);
486 NOMIPS16 int test18 (v2sf a, v2sf b)
488 return __builtin_mips_any_c_ngle_ps (a, b);
491 NOMIPS16 int test19 (v2sf a, v2sf b)
493 return __builtin_mips_all_c_ngle_ps (a, b);
496 NOMIPS16 int test20 (v2sf a, v2sf b)
498 return __builtin_mips_any_c_seq_ps (a, b);
501 NOMIPS16 int test21 (v2sf a, v2sf b)
503 return __builtin_mips_all_c_seq_ps (a, b);
506 NOMIPS16 int test22 (v2sf a, v2sf b)
508 return __builtin_mips_any_c_ngl_ps (a, b);
511 NOMIPS16 int test23 (v2sf a, v2sf b)
513 return __builtin_mips_all_c_ngl_ps (a, b);
516 NOMIPS16 int test24 (v2sf a, v2sf b)
518 return __builtin_mips_any_c_lt_ps (a, b);
521 NOMIPS16 int test25 (v2sf a, v2sf b)
523 return __builtin_mips_all_c_lt_ps (a, b);
526 NOMIPS16 int test26 (v2sf a, v2sf b)
528 return __builtin_mips_any_c_nge_ps (a, b);
531 NOMIPS16 int test27 (v2sf a, v2sf b)
533 return __builtin_mips_all_c_nge_ps (a, b);
536 NOMIPS16 int test28 (v2sf a, v2sf b)
538 return __builtin_mips_any_c_le_ps (a, b);
541 NOMIPS16 int test29 (v2sf a, v2sf b)
543 return __builtin_mips_all_c_le_ps (a, b);
546 NOMIPS16 int test30 (v2sf a, v2sf b)
548 return __builtin_mips_any_c_ngt_ps (a, b);
551 NOMIPS16 int test31 (v2sf a, v2sf b)
553 return __builtin_mips_all_c_ngt_ps (a, b);