2018-11-22 Uros Bizjak <ubiz...@gmail.com> * config/i386/i386.c (ix86_check_avx_upper_register): Return true for all SSE registers with mode bitsize > 128.
Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN. Uros.
Index: config/i386/i386.c =================================================================== --- config/i386/i386.c (revision 266382) +++ config/i386/i386.c (working copy) @@ -18856,12 +18856,7 @@ static bool ix86_check_avx_upper_register (const_rtx exp) { - if (SUBREG_P (exp)) - exp = SUBREG_REG (exp); - - return (REG_P (exp) - && (VALID_AVX256_REG_OR_OI_MODE (GET_MODE (exp)) - || VALID_AVX512F_REG_OR_XI_MODE (GET_MODE (exp)))); + return SSE_REG_P (exp) && GET_MODE_BITSIZE (GET_MODE (exp)) > 128; } /* Return needed mode for entity in optimize_mode_switching pass. */