re PR middle-end/41094 (Erroneous optimization of pow() with -ffast-math)
authorRichard Guenther <rguenther@suse.de>
Tue, 18 Aug 2009 13:40:18 +0000 (13:40 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 18 Aug 2009 13:40:18 +0000 (13:40 +0000)
commit776e7174167360fdf2ba990e7c7c22536fe9227a
tree352c74ccff21f703c3493cc20f89542a38b26f32
parentf3252b3c18e688f43df708d0003f0b6e0f89cc17
re PR middle-end/41094 (Erroneous optimization of pow() with -ffast-math)

2009-08-18  Richard Guenther  <rguenther@suse.de>

PR middle-end/41094
* builtins.c (fold_builtin_pow): Fold pow(pow(x,y),z) to
pow(x,y*z) only if x is nonnegative.

* gcc.dg/torture/pr41094.c: New testcase.
* gcc.dg/torture/builtin-power-1.c: Adjust.
* gcc.dg/builtins-10.c: Likewise.

From-SVN: r150874
gcc/ChangeLog
gcc/builtins.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtins-10.c
gcc/testsuite/gcc.dg/torture/builtin-power-1.c
gcc/testsuite/gcc.dg/torture/pr41094.c [new file with mode: 0644]