On Wed, 20 Nov 2013, Joseph S. Myers wrote:

On Wed, 20 Nov 2013, Marc Glisse wrote:

On Wed, 20 Nov 2013, Joseph S. Myers wrote:

This patch removes real_sqrt.  (I rather hope that in general little
if any floating-point constant folding is happening on RTL - it
doesn't seem like the sort of thing for which RTL expansion should be
expected to introduce new folding opportunities, and if it does I'd
tend to think that indicates a deficiency in the GIMPLE optimizers.)

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.  OK to
commit?

2013-11-20  Joseph Myers  <jos...@codesourcery.com>

        * real.c (real_sqrt): Remove function.
        * real.h (real_sqrt): Remove prototype.
        * simplify-rtx.c (simplify_const_unary_operation): Do not fold
        SQRT using real_sqrt.

I think you can close PR 55950 with that one.

Thanks for the reference - if you have a case where this code is active
(other than where -fno- options are used to disable GIMPLE constant
propagation etc. artificially, although I couldn't find a suitable
testcase even with such options), could you file a PR in Bugzilla for the
missing GIMPLE optimization that results in this only getting optimized
(or not, after this patch) at the RTL level?

Actually, in my case (sqrt(2.) with -frounding-math), constant propagation was not wanted. gimple properly avoided it, and now RTL won't do it either, which is good, no optimization missed.

--
Marc Glisse

Reply via email to