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

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Roger Sayle <[email protected]>:

https://gcc.gnu.org/g:3275b86a822b23ad2e332d2425ac3d6abcb2105a

commit r16-7712-g3275b86a822b23ad2e332d2425ac3d6abcb2105a
Author: Roger Sayle <[email protected]>
Date:   Thu Feb 26 08:07:12 2026 +0000

    PR target/124194: Fix __builtin_ia32_cmpd256_mask(op,op,TRUE)

    This patch fixes the wrong code regression PR target/124194 on x86_64.
    The target implements a pre-reload splitter that recognizes that
    integer vector comparisons can be evaluated at compile-time when the
    operands being compared are the same (register).  The (admittedly rare)
    case when the comparison operator is always-true, was incorrectly
    handled and folded to false instead of the correct value true.

    2025-02-26  Roger Sayle  <[email protected]>

    gcc/ChangeLog
            PR target/124194
            * config/i386/sse.md (*<avx512>_cmp<mode>3_dup_op): Also return
            CONSTM1_RTX for the case cmp_imm == 7 (predicate TRUE).

    gcc/testsuite/ChangeLog
            PR target/124194
            * gcc.target/i386/pr124194.c: New test case.

Reply via email to