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.