[Bug c++/41094] Erroneous optimization of pow() with -ffast-math
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-08-24 10:03 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to fail||4.3.4 4.4.1 Known to work||4.3.5 4.4.2 4.5.0 Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41094
[Bug c++/41094] Erroneous optimization of pow() with -ffast-math
--- Comment #5 from rguenth at gcc dot gnu dot org 2009-08-24 09:56 --- Subject: Bug 41094 Author: rguenth Date: Mon Aug 24 09:56:30 2009 New Revision: 151052 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151052 Log: 2009-08-24 Richard Guenther 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. Added: branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/torture/pr41094.c Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/builtins.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/builtins-10.c branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/torture/builtin-power-1.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41094
[Bug c++/41094] Erroneous optimization of pow() with -ffast-math
--- Comment #4 from rguenth at gcc dot gnu dot org 2009-08-24 09:52 --- Subject: Bug 41094 Author: rguenth Date: Mon Aug 24 09:52:03 2009 New Revision: 151051 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151051 Log: 2009-08-24 Richard Guenther 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. Added: branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/torture/pr41094.c Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/builtins.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/builtins-10.c branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/torture/builtin-power-1.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41094
[Bug c++/41094] Erroneous optimization of pow() with -ffast-math
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-08-18 13:40 --- Subject: Bug 41094 Author: rguenth Date: Tue Aug 18 13:40:18 2009 New Revision: 150874 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150874 Log: 2009-08-18 Richard Guenther 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. Added: trunk/gcc/testsuite/gcc.dg/torture/pr41094.c Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/builtins-10.c trunk/gcc/testsuite/gcc.dg/torture/builtin-power-1.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41094
[Bug c++/41094] Erroneous optimization of pow() with -ffast-math
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-08-18 09:20 --- Looks like a bug in fold. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Keywords||wrong-code Last reconfirmed|-00-00 00:00:00 |2009-08-18 09:20:14 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41094
[Bug c++/41094] Erroneous optimization of pow() with -ffast-math
--- Comment #1 from paolo dot carlini at oracle dot com 2009-08-17 18:38 --- Note, this isn't C++ specific: int main() { double x = -10.0; __builtin_printf("%g\n", __builtin_pow(x * x, 0.25)); } Richard, can you have a look? It's hot here ;) but first blush I don't see why fast-math is so special here... -- paolo dot carlini at oracle dot com changed: What|Removed |Added CC||rguenth at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41094