http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59535
--- Comment #12 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> --- (In reply to Ramana Radhakrishnan from comment #11) > (In reply to Vladimir Makarov from comment #9) > > (In reply to Richard Earnshaw from comment #5) > > > I think major problem is in wrong alternative choices as thumb lo/hi reg > > usage is complicated. > > That is probably going to be the reason. > > > > > I take this bug very seriously. If I cannot fix it till end of Jan (sorry, > > it is a vacation time), probably we should switch to reload pass for thumb. > > Thanks very much for taking this so seriously. > > > > > > To be honest, I don't know why 12 is not fixed. It results in using > > 12 by IRA and bigger code when even reload is used. I believe it > > should fixed too. > > > According to the ABI r12 is a caller saved register. Am I correct in > understanding that we are taking out a caller-saved register to allow for > lra to be able to choose other low regs and thereby prevent movements to and > from r12 ? > Scratch that : it's already for t16 and Os. Changing LAST_HI_REGNUM to 14 in arm.h should be enough. regards Ramana