diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr46728-13.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr46728-13.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr46728-13.c b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr46728-13.c new file mode 100644 index 000000000..b9fd63973 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr46728-13.c @@ -0,0 +1,28 @@ +/* { dg-do run } */ +/* { dg-skip-if "-mpowerpc-gpopt not supported" { powerpc*-*-darwin* } } */ +/* { dg-options "-O2 -ffast-math -fno-inline -fno-unroll-loops -lm -mpowerpc-gpopt" } */ + +#include <math.h> + +extern void abort (void); + +#define NVALS 6 + +static double +convert_it (double x) +{ + return pow (x, 1.0 / 6.0); +} + +int +main (int argc, char *argv[]) +{ + double values[NVALS] = { 3.0, 1.95, 2.227, 729.0, 64.0, .0008797 }; + unsigned i; + + for (i = 0; i < NVALS; i++) + if (convert_it (values[i]) != cbrt (sqrt (values[i]))) + abort (); + + return 0; +} |