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.

Reply via email to