[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