https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126562
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.6.4
Summary|Invalid pow (x, 0.5) -> |[13/14/15/16/17 Regression]
|sqrt transformation when |Invalid pow (x, 0.5) ->
|signed zeros or infinities |sqrt transformation when
|are required |signed zeros or infinities
| |are required
Target Milestone|--- |13.5
Known to fail| |4.7.0
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Interesting that the match patterh has a check for unsafe math optimizations
though:
/* pow(x,0.5) -> sqrt(x). */
(if (flag_unsafe_math_optimizations
&& canonicalize_math_p ()
&& real_equal (value, &dconsthalf))
(sqrts @0))
(which came from builtins.c [r6-4314-gb4838d77014a4b]; I have not looked
further back though).
tree-ssa-math-opts.cc (gimple_expand_builtin_pow) came from
r0-109094-gba869341b42aef . I am now curious how much of
gimple_expand_builtin_pow can just be removed with match-and-simplify being
there ...