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

--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>:

https://gcc.gnu.org/g:7c6fefedce7c10d4f44a731bcce6865b03a9f473

commit r16-3484-g7c6fefedce7c10d4f44a731bcce6865b03a9f473
Author: liuhongt <hongtao....@intel.com>
Date:   Thu Aug 28 23:38:00 2025 -0700

    Fix ICE due to wrong operand is passed to ix86_vgf2p8affine_shift_matrix.

    1) Fix predicate of operands[3] in cond_<insn><mode> since only
    const_vec_dup_operand is excepted for masked operations, and pass real
    count to ix86_vgf2p8affine_shift_matrix.

    2) Pass operands[2] instead of operands[1] to
    gen_vgf2p8affineqb_<mode>_mask which excepted the operand to shifted,
    but operands[1] is mask operand in cond_<insn><mode>.

    gcc/ChangeLog:

            PR target/121699
            * config/i386/predicates.md (const_vec_dup_operand): New
            predicate.
            * config/i386/sse.md (cond_<insn><mode>): Fix predicate of
            operands[3], and fix wrong operands passed to
            ix86_vgf2p8affine_shift_matrix and
            gen_vgf2p8affineqb_<mode>_mask.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr121699.c: New test.

Reply via email to