Fix multi-reg regno_reg_rtx entry

Eric Botcazou ebotcazou@adacore.com
Sun Jan 29 16:21:00 GMT 2012


> [ BTw, I think the MIPS comment is wrong.  HARD_REGNO_NREGS (fpreg, SFmode)
>   is (now) 1, even when using paired FPRs.  And the suggestion doesn't
>   seem at all ideal to me.  OK to remove? ]

You're the MIPS maintainer, so it's up to you.

> A simple fix, which I've used below, is to make sure that the previous
> mode requires only one register.  We could drop the new assert if we want
> to be even more conservative at this stage.

That doesn't seem decisively better to me.  Why not use REGNO_REG_CLASS, i.e. 
copy the mode only if we stay within the same class?

> A riskier but perhaps more logical fix would be to call choose_hard_reg_mode
> again, this time telling it to ignore HARD_REGNO_MODE_OK.

Yes, that's probably a little too risky at this stage.


Btw, could you fix the comment about regno_reg_rtx in emit-rtl.c/function.h?
It talks about pseudo-registers while we are talking about hard registers.

-- 
Eric Botcazou



More information about the Gcc-patches mailing list