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

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

https://gcc.gnu.org/g:793da440da5c84090af9e864b824157db02cdc82

commit r17-1389-g793da440da5c84090af9e864b824157db02cdc82
Author: Jakub Jelinek <[email protected]>
Date:   Sat Jun 6 09:50:35 2026 +0200

    i386: Fix up predicates on <ssse3_avx2>_pmulhrsw<mode>3, smulhrs<mode>3
expanders [PR125611]

    The following testcase ICEs since r6-6060-gacf93f1edc9 aka PR68991 fix.
    THe problem is that the commit has changed the predicates on
    *<ssse3_avx2>_pmulhrsw<mode>3<mask_name> pattern from nonimmediate_operand
    to vector_operand but kept the old predicates on the corresponding
    expanders.  With TARGET_AVX that makes no difference (so I've left
    the <ssse3_avx2>_pmulhrsw<mode>3_mask expander as is, that is only
    TARGET_AVX512BW && TARGET_AVX512VL), but without it if there is unaligned
    memory the expander can just expand it as memory without forcing into REG
    while the pattern will not match.

    2026-06-06  Jakub Jelinek  <[email protected]>

            PR target/125611
            * config/i386/sse.md (<ssse3_avx2>_pmulhrsw<mode>3,
smulhrs<mode>3):
            Use vector_operand instead of nonimmediate_operand.

            * gcc.target/i386/ssse3-pr125611.c: New test.

    Reviewed-by: Uros Bizjak <[email protected]>

Reply via email to