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 ...

Reply via email to