[patch, ARM] Fix PR48808, PR48792: More work on CANNOT_CHANGE_MODE_CLASS

Eric Botcazou ebotcazou@adacore.com
Mon May 30 07:47:00 GMT 2011


> I don't think the backend should need to check it, although there are
> probably backends have done so as the path of least resistance.

My opinion as well.  CANNOT_CHANGE_CLASS_MODE shoudn't have to duplicate the 
information provided by HARD_REGNO_MODE_OK.

> - If we have a reload of a paradoxical subreg, reload can turn the other
>   reload operand into an unsimplifiable (subreg:M (reg:N R)).  We might
>   have to allow ports to generate that kind of subreg themselves
>   (for now!), but reload shouldn't be generating new ones like this.

This is also what happens on the SPARC for PR target/48830.

> Something like the attached patch.  Not tested yet, and I'm sure
> it'll break things in lots of fun and interesting ways...

Mind posting a (temporarily) definitive version?  I'll give it a whirl on the 
SPARC and IA-64 to see how it would fare.

-- 
Eric Botcazou



More information about the Gcc-patches mailing list