https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93997
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Uroš Bizjak from comment #1) > Probably we have to reject TImode in case of 32bit targets from the expander. Like this: --cut here-- diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 6c57500ae8ec..8e29dffafa6e 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -2778,7 +2778,7 @@ { gcc_assert (SUBREG_P (operands[0])); if ((TARGET_PARTIAL_REG_STALL && optimize_function_for_speed_p (cfun)) - || GET_MODE_CLASS (GET_MODE (SUBREG_REG (operands[0]))) != MODE_INT) + || !VALID_INT_MODE_P (GET_MODE (SUBREG_REG (operands[0])))) FAIL; }) --cut here--