diff options
author | Richard Guenther <rguenth@gcc.gnu.org> | 2005-02-07 13:24:38 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2005-02-07 13:24:38 +0000 |
commit | 6a96f5c111327ebb22e3c6bff923f8c1b2e175f1 (patch) | |
tree | f3c9b917a0f61ec5e98c3b1be02adc081d56f541 /gcc/testsuite/gcc.dg/builtins-10.c | |
parent | 48c4e71107bd32507fe3a52c85601fce53a4b1ef (diff) | |
download | gcc-6a96f5c111327ebb22e3c6bff923f8c1b2e175f1.zip gcc-6a96f5c111327ebb22e3c6bff923f8c1b2e175f1.tar.gz gcc-6a96f5c111327ebb22e3c6bff923f8c1b2e175f1.tar.bz2 |
re PR middle-end/19775 (sqrt(pow(x,y)) != pow(x,y*0.5) (with -ffast-math))
2005-02-07 Richard Guenther <rguenth@gcc.gnu.org>
PR middle-end/19775
* builtins.c (fold_builtin_sqrt): Transform
sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
pow(x,y*0.5).
* gcc.dg/torture/builtin-power-1.c: Disable test for
invalid transformation.
* gcc.dg/builtins-10.c: Likewise. Disable one test we
no longer optimize.
* gcc.dg/builtins-47.c: New testcase.
From-SVN: r94701
Diffstat (limited to 'gcc/testsuite/gcc.dg/builtins-10.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/builtins-10.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/testsuite/gcc.dg/builtins-10.c b/gcc/testsuite/gcc.dg/builtins-10.c index 9e5a458..53158a0 100644 --- a/gcc/testsuite/gcc.dg/builtins-10.c +++ b/gcc/testsuite/gcc.dg/builtins-10.c @@ -14,11 +14,12 @@ extern double exp(double); extern double log(double); extern double sqrt(double); extern double pow(double,double); +extern double fabs(double); void test(double x) { - if (sqrt(pow(x,4.0)) != x*x) - link_error (); + /*if (sqrt(pow(x,4.0)) != x*x) + link_error (); */ if (pow(sqrt(x),4.0) != x*x) link_error (); @@ -29,7 +30,7 @@ void test(double x) void test2(double x, double y, double z) { - if (sqrt(pow(x,y)) != pow(x,y*0.5)) + if (sqrt(pow(x,y)) != pow(fabs(x),y*0.5)) link_error (); if (log(pow(x,y)) != y*log(x)) |