"ubizjak at gmail dot com" <gcc-bugzi...@gcc.gnu.org> writes: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91994 > > --- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> --- > Richard, since vzeroupper clobbers only xmm0-xmm15 (xmm0-xmm7 on 32it > targets), > shouldn't we use SSE_REGS instead of ALL_SSE_REGS here: > > Index: i386.c > =================================================================== > --- i386.c (revision 276660) > +++ i386.c (working copy) > @@ -13530,7 +13530,7 @@ ix86_avx_u128_mode_needed (rtx_insn *insn) > modes wider than 256 bits. It's only safe to issue a > vzeroupper if all SSE registers are clobbered. */ > const function_abi &abi = insn_callee_abi (insn); > - if (!hard_reg_set_subset_p (reg_class_contents[ALL_SSE_REGS], > + if (!hard_reg_set_subset_p (reg_class_contents[SSE_REGS], > abi.mode_clobbers (V4DImode))) > return AVX_U128_ANY;
Ah, yeah. LGTM, thanks.