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

--- Comment #17 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Richard Biener
<rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:e599311147332567d8d8c8c457fe5f6c2de64fe0

commit r13-9319-ge599311147332567d8d8c8c457fe5f6c2de64fe0
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Oct 15 19:38:46 2024 +0200

    match.pd: Further fma negation fixes [PR116891]

    On Mon, Oct 14, 2024 at 08:53:29AM +0200, Jakub Jelinek wrote:
    > >     PR middle-end/116891
    > >     * match.pd ((negate (IFN_FNMS@3 @0 @1 @2)) -> (IFN_FMA @0 @1 @2)):
    > >     Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING.
    >
    > Guess it would be nice to have a testcase which FAILs without the patch
and
    > PASSes with it, but it can be added later.

    I've added such a testcase now, and additionally found the fix only fixed
    one of the 4 problematic similar cases.

    Here is a patch which fixes the others too and adds the testcases.
    fma-pr116891.c FAILed without your patch, FAILs with your patch too (but
    only due to the bar/baz/qux checks) and PASSes with the patch.

    2024-10-15  Jakub Jelinek  <ja...@redhat.com>

            PR middle-end/116891
            * match.pd ((negate (fmas@3 @0 @1 @2)) -> (IFN_FNMS @0 @1 @2)):
            Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING.
            ((negate (IFN_FMS@3 @0 @1 @2)) -> (IFN_FNMA @0 @1 @2)): Likewise.
            ((negate (IFN_FNMA@3 @0 @1 @2)) -> (IFN_FMS @0 @1 @2)): Likewise.

            * gcc.dg/pr116891.c: New test.
            * gcc.target/i386/fma-pr116891.c: New test.

    (cherry picked from commit 4366f0c7e296ea0d7279343c9b0a1d597588a1da)

Reply via email to