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

--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:67b750c20e1f9428ef89a6fed0103e912bea8679

commit r15-4062-g67b750c20e1f9428ef89a6fed0103e912bea8679
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Fri Oct 4 12:36:52 2024 +0200

    i386: Fix up *minmax<mode>3_2 splitter [PR116925]

    While *minmax<mode>3_1 correctly uses
       if (MEM_P (operands[1]))
         operands[1] = force_reg (<MODE>mode, operands[1]);
    to ensure operands[1] is not a MEM, *minmax<mode>3_2 does it wrongly
    by calling force_reg but ignoring its return value.

    The following borderingly obvious patch fixes that.

    Didn't find similar other errors in the backend with force_reg calls.

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

            PR target/116925
            * config/i386/sse.md (*minmax<mode>3_2): Assign force_reg result
            back to operands[2] instead of throwing it away.

            * g++.target/i386/avx-pr116925.C: New test.

Reply via email to