https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86999

Alexander Monakov <amonakov at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |amonakov at gcc dot gnu.org

--- Comment #1 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
For the first problem -fno-signed-zeros is a bit of a red herring, the real
reason is enabling -fassociative-math makes GCC turn

  return n * p + p;

to 'return (n + 1) * p;' and while we slightly optimize it on RTL we don't
recover fma from it.

For the second problem, the expression '(v4f)v' is {0.0f, 0.0f, -0.0f, -0.0f}
and by specifying -fno-signed-zeros you're allowing the compiler to change it
to all-positive-zeros, making the function a no-op. So that is not a bug.

Reply via email to