1/* { dg-do compile } */ 2/* { dg-options "-O2" } */ 3 4#define TEST_SET(MODE, CEXT) \ 5MODE test1##CEXT(MODE a) { return -a; } \ 6MODE test2##CEXT(MODE a) { return __builtin_fabs##CEXT(a); } \ 7MODE test3##CEXT(MODE a) { return __builtin_copysign##CEXT(a, 0.0); } \ 8MODE test4##CEXT(MODE a) { return __builtin_copysign##CEXT(a, -1.0); } \ 9MODE test5##CEXT(MODE a, MODE b) { return __builtin_copysign##CEXT(a, b); } 10 11TEST_SET (float, f) 12TEST_SET (double, ) 13TEST_SET (long double, l) 14#if defined (__LP64__) 15TEST_SET (__float128, q) 16#endif 17