On Tue, Apr 29, 2025 at 11:40 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > SSE_FIRST_REG was added to CLASS_LIKELY_SPILLED_P, which became > TARGET_CLASS_LIKELY_SPILLED_P, for > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40470 > > Since RA has been improved and xmm0 is a commonly used register, remove > SSE_FIRST_REG from ix86_class_likely_spilled_p to improve xmm0 codegen:
While the AVX version of pblendvb doesn't use XMM0 as an architectural register, there are still plenty of other cases, e.g. PCMPESTM and PCMPISTRM, SHA and KEYLOCKER insns, so you are risking RA failures with these insn if the life of XMM0 is extended. OTOH, the (unrelated?) ternlog change changes the expander, where the expander does subreg tricks on memory operand, which doesn' look correct to me. adjust_address should be used instead. Uros.