diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/builtin-copysign.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/builtin-copysign.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/builtin-copysign.c b/gcc/testsuite/gcc.target/i386/builtin-copysign.c new file mode 100644 index 000000000..c20a0b6cb --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/builtin-copysign.c @@ -0,0 +1,16 @@ +/* { 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 |