Re: PATCH: PR target/40470: unable to find a register to spill in class ‘SSE_FIRST_REG’
Richard Henderson
rth@redhat.com
Thu Jun 18 20:25:00 GMT 2009
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.
%xmm0 is *supposed* to be in SSE_FIRST_REG class.
Are you sure you saw MMX_REG?
Now, CLASS_LIKELY_SPILLED_P in i386.h didn't get
updated when the SSE_FIRST_REG class was introduced,
so fixing that could fix the problem described.
r~
More information about the Gcc-patches
mailing list