[Bug target/103020] ICE with V1TImode on x86_32

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 1 09:44:48 GMT 2021


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I guess that is a consequence of ix86_scalar_mode_supported_p returning false
for TImode (it uses default_scalar_mode_supported_p for it and that supports at
most 2 * BITS_PER_WORD precision modes), while ix86_vector_mode_supported_p
returns true for V1TImode (but not V2TImode etc.).
I think it has been introduced by PR32280 fix.
Seems the backend wants to use V1TImode shifts by constant for
__builtin_ia32_pslldqi128 etc.  The question is, will that keep working if we
keep V1TImode in VALID_SSE_REG_MODE etc., but add to start of
ix86_vector_mode_supported_p something like
  if (!TARGET_64BIT && GET_MODE_INNER (mode) == TImode)
    return false;


More information about the Gcc-bugs mailing list