[Bug target/100887] [12 Regression] ICE: in ix86_expand_vector_init_concat, at config/i386/i386-expand.c:14178 with -mavx512f and __builtin_shufflevector()

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jun 4 09:20:39 GMT 2021


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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:b7dd2e4eeb44bc8678ecde8a6c7401de85e63561

commit r12-1205-gb7dd2e4eeb44bc8678ecde8a6c7401de85e63561
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Fri Jun 4 11:20:02 2021 +0200

    x86: Fix ix86_expand_vector_init for V*TImode [PR100887]

    We have vec_initv4tiv2ti and vec_initv2titi patterns which call
    ix86_expand_vector_init and assume it works for those modes.  For the
    case of construction from two half-sized vectors, the code assumes it
    will always succeed, but we have only insn patterns with SImode and DImode
    element types.  QImode and HImode element types are already handled
    by performing it with same sized vectors with SImode elements and the
    following patch extends that to V*TImode vectors.

    2021-06-04  Jakub Jelinek  <jakub@redhat.com>

            PR target/100887
            * config/i386/i386-expand.c (ix86_expand_vector_init): Handle
            concatenation from half-sized modes with TImode elements.

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


More information about the Gcc-bugs mailing list