https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100637
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Uros Bizjak <u...@gcc.gnu.org>: https://gcc.gnu.org/g:663a014e77709bfbd4145c605b178169eaf334fc commit r12-2136-g663a014e77709bfbd4145c605b178169eaf334fc Author: Uros Bizjak <ubiz...@gmail.com> Date: Thu Jul 8 12:19:54 2021 +0200 i386: Add pack/unpack patterns for 32bit vectors [PR100637] V1SI mode shift is needed to shift 32bit operands and consequently we need to implement V1SI moves and pushes. 2021-07-08 Uroš Bizjak <ubiz...@gmail.com> gcc/ PR target/100637 * config/i386/i386-expand.c (ix86_expand_sse_unpack): Handle V4QI mode. * config/i386/mmx.md (V_32): New mode iterator. (mov<V_32:mode>): Use V_32 mode iterator. (*mov<V_32:mode>_internal): Ditto. (*push<V_32:mode>2_rex64): Ditto. (*push<V_32:mode>2): Ditto. (movmisalign<V_32:mode>): Ditto. (mmx_<any_shiftrt:insn>v1si3): New insn pattern. (sse4_1_<any_extend:code>v2qiv2hi2): Ditto. (vec_unpacks_lo_v4qi): New expander. (vec_unpacks_hi_v4qi): Ditto. (vec_unpacku_lo_v4qi): Ditto. (vec_unpacku_hi_v4qi): Ditto. * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V1SImode. (VALID_INT_MODE_P): Ditto.