3 /* { dg-options "-O2 -fno-trapping-math" } */
5 double s1
[4], s2
[4], s3
[64];
11 asm volatile ("" : : : "memory");
12 for (i
= 0; i
< 4; i
++)
13 s3
[0 * 4 + i
] = __builtin_isgreater (s1
[i
], s2
[i
]) ? -1.0 : 0.0;
14 for (i
= 0; i
< 4; i
++)
15 s3
[1 * 4 + i
] = (!__builtin_isgreater (s1
[i
], s2
[i
])) ? -1.0 : 0.0;
16 for (i
= 0; i
< 4; i
++)
17 s3
[2 * 4 + i
] = __builtin_isgreaterequal (s1
[i
], s2
[i
]) ? -1.0 : 0.0;
18 for (i
= 0; i
< 4; i
++)
19 s3
[3 * 4 + i
] = (!__builtin_isgreaterequal (s1
[i
], s2
[i
])) ? -1.0 : 0.0;
20 for (i
= 0; i
< 4; i
++)
21 s3
[4 * 4 + i
] = __builtin_isless (s1
[i
], s2
[i
]) ? -1.0 : 0.0;
22 for (i
= 0; i
< 4; i
++)
23 s3
[5 * 4 + i
] = (!__builtin_isless (s1
[i
], s2
[i
])) ? -1.0 : 0.0;
24 for (i
= 0; i
< 4; i
++)
25 s3
[6 * 4 + i
] = __builtin_islessequal (s1
[i
], s2
[i
]) ? -1.0 : 0.0;
26 for (i
= 0; i
< 4; i
++)
27 s3
[7 * 4 + i
] = (!__builtin_islessequal (s1
[i
], s2
[i
])) ? -1.0 : 0.0;
28 for (i
= 0; i
< 4; i
++)
29 s3
[8 * 4 + i
] = __builtin_islessgreater (s1
[i
], s2
[i
]) ? -1.0 : 0.0;
30 for (i
= 0; i
< 4; i
++)
31 s3
[9 * 4 + i
] = (!__builtin_islessgreater (s1
[i
], s2
[i
])) ? -1.0 : 0.0;
32 for (i
= 0; i
< 4; i
++)
33 s3
[10 * 4 + i
] = __builtin_isunordered (s1
[i
], s2
[i
]) ? -1.0 : 0.0;
34 for (i
= 0; i
< 4; i
++)
35 s3
[11 * 4 + i
] = (!__builtin_isunordered (s1
[i
], s2
[i
])) ? -1.0 : 0.0;
36 for (i
= 0; i
< 4; i
++)
37 s3
[12 * 4 + i
] = s1
[i
] > s2
[i
] ? -1.0 : 0.0;
38 for (i
= 0; i
< 4; i
++)
39 s3
[13 * 4 + i
] = s1
[i
] >= s2
[i
] ? -1.0 : 0.0;
40 for (i
= 0; i
< 4; i
++)
41 s3
[14 * 4 + i
] = s1
[i
] < s2
[i
] ? -1.0 : 0.0;
42 for (i
= 0; i
< 4; i
++)
43 s3
[15 * 4 + i
] = s1
[i
] <= s2
[i
] ? -1.0 : 0.0;
44 asm volatile ("" : : : "memory");