This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/46728] [4.6 Regression] GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc
- From: "meissner at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 4 Feb 2011 18:11:13 +0000
- Subject: [Bug tree-optimization/46728] [4.6 Regression] GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc
- Auto-submitted: auto-generated
- References: <bug-46728-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728
--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> 2011-02-04 18:11:09 UTC ---
When the initial changes for bug 42694 was added that optimizes pow (x, 0.75)
into sqrt(sqrt(x))*sqrt(x) under fast math, there was a desire to move this RTL
optimization into the tree level. Ideally it should before the vectorization
of math functions and FMA (floating point multiplication and add) passes.
Here is the discussion about the changes in April 2010:
http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00788.html
Presumably most of the optimizations done in expand_builtin_pow,
expand_builtin_powi and expand_builtin_pow_root in the builtins.c file should
be moved to a tree pass.