On 12/31/2015 02:29 AM, Jakub Jelinek wrote:
Hi!

The PR61441 change added REAL_VALUE_ISSIGNALING_NAN checks for both
operands, but only arg1 is guaranteed to be a REAL_CST at this point.
If arg0 is not a REAL_CST, I think we can allow all the opts the function
does, as all transformations replace the pow with some other expression
that uses the argument some way (sqrt, cbrt, cbrt of sqrt, multiplication by
itself, ...), so sNaN exteptions should be preserved.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2015-12-31  Jakub Jelinek  <ja...@redhat.com>

        PR tree-optimization/69070
        * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
        REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.

        * gcc.dg/pr69070.c: New test.
OK.
jeff


Reply via email to