| /* { dg-do compile } */ |
| /* { dg-options "-O2" } */ |
| |
| #define TEST_SET(MODE, CEXT) \ |
| MODE test1##CEXT(MODE a) { return -a; } \ |
| MODE test2##CEXT(MODE a) { return __builtin_fabs##CEXT(a); } \ |
| MODE test3##CEXT(MODE a) { return __builtin_copysign##CEXT(a, 0.0); } \ |
| MODE test4##CEXT(MODE a) { return __builtin_copysign##CEXT(a, -1.0); } \ |
| MODE test5##CEXT(MODE a, MODE b) { return __builtin_copysign##CEXT(a, b); } |
| |
| TEST_SET (float, f) |
| TEST_SET (double, ) |
| TEST_SET (long double, l) |
| #if defined (__LP64__) |
| TEST_SET (__float128, q) |
| #endif |