This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: PR target/40470: unable to fin d a register to spill in class âSSE_FIRST_REG â


Graham Stott wrote:
Jeff,

cant_combine_insn_p looks to be where the combind should get rejected.

It uses CLASS_LIKELY_SPILLED (REGNO_REG_CLASS (REGNO (...)) to reject
the combine if it finds a HARD reg which is likely to be spilled.

Now on the x86 XMM0 is in MMX_REGS class which is NOT a likely spilled class hence it doen't get rejected.

Adding MMX_REGS to the set of likely spilled classes on x86 should do the
trick.
I don't think I'd add MMX_REGS to the likely spilled classes -- that would needless inhibit optimizations on the other xmm registers. xmm0 is the only member of FIRST_SSE_REGS, and that's the class we need to add to CLASS_LIKELY_SPILLED_P.

Thanks,


jeff




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]