[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FW: [avr-libc-dev] Fwd: Testresults for [PATCH]: Rewrite AVR backend
Re: FW: [avr-libc-dev] Fwd: Testresults for [PATCH]: Rewrite AVR backend's rtx_costs (take 3)
Wed, 9 Feb 2005 23:57:17 +0100
Am Mittwoch, 9. Februar 2005 06:28 schrieb Andy Hutchinson:
> My setup now doesn't give the reload failure on the testcase.
> I have not tested code!!
> As per last message, the block move scoops up the pointer registers. As
> this is a stack move, we also have frame pointer involved to calculate
> addresses. Net result, we run out of pointer registers when reload is
> not smart enough to juggle that much. Same as bug 18251.
> As to what causes the regression, I cannot be sure but it might be
> change in constant costs. gcc still seems to be saving them in
> registers. On the otherhand it could equally be that we got lucky when
> code got rearranged!
> The attached code replaces the patterns in avr.md and now only allows
> non-pointer registers "al" as a counter for *movmemqi_insn. As any
> register can be used, that restriction is not significant.
I can confirm that the regression with rogers patch is resolved when applying
your suggested changes. In contrast, the restriction of the allowed register
sets does not seem to affect the bug 18251.