https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104451
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-9 branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>: https://gcc.gnu.org/g:c4bcb6320d0ff881e0f6ee7f24b35ea67a61d38c commit r9-9944-gc4bcb6320d0ff881e0f6ee7f24b35ea67a61d38c Author: liuhongt <hongtao....@intel.com> Date: Wed Feb 9 13:14:43 2022 +0800 ICE: QImode(not SImode) operand should be passed to gen_vec_initv16qiqi in ashlv16qi3. ix86_expand_vector_init expects vals to be a parallel containing values of individual fields which should be either element mode of the vector mode, or a vector mode with the same element mode and smaller number of elements. But in the expander ashlv16qi3, the second operand is SImode which can't be directly passed to gen_vec_initv16qiqi. gcc/ChangeLog: PR target/104451 * config/i386/sse.md (<insn><mode>3): lowpart_subreg operands[2] from SImode to QImode. gcc/testsuite/ChangeLog: PR target/104451 * gcc.target/i386/pr104451.c: New test.