> 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