From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey A Law To: Joern Rennecke Cc: rth@cygnus.com, gcc@gcc.gnu.org Subject: Re: Your recent reload changes Date: Tue, 22 Aug 2000 14:31:00 -0000 Message-id: <12581.966979793@upchuck> References: <200008222125.WAA31259@phal.cygnus.co.uk> X-SW-Source: 2000-08/msg00455.html In message < 200008222125.WAA31259@phal.cygnus.co.uk >you write: > > Reload 3: R1_REGS, RELOAD_FOR_INPUT_ADDRESS (opnum = 1), can't combine, > > secondar > > y_reload_p > > reload_reg_rtx: (reg:SI 1 %r1) > > Looking at the reload_insi pattern of the pa, I see that it applies to all > destinations of all register classes, and is used with any source that is > not a hard register. Couldn't you make this pattern restrictive, so that > it only triggers when you genuinely need a scratch register? > Reload is perfectly capable of dealing with intermediary registers on its > own. Sometimes we need an intermediate, sometimes we need a scratch. Find a way to rewrite it to handle both with a more restrictive pattern and I'll happily use it. Not surprisingly it's been tried multiple times, and every time we've come back to the code you see in pa.md/pa.c. Good luck. jeff