AM30/AM33 SP handling

Alexandre Oliva aoliva@cygnus.com
Tue Apr 25 13:43:00 GMT 2000


On Apr 25, 2000, Jeffrey A Law <law@cygnus.com> wrote:

>   In message < or3doae7t3.fsf@zecarneiro.lsd.ic.unicamp.br >you write:
>> On Apr 24, 2000, Jeffrey A Law <law@cygnus.com> wrote:

>> Well, there is this SP_REGS class that is quite suitable for a
>> register used in a MEM, as register 26 is.

> OK.  I suspect this happens because we consider SP a valid base
> register - see the calls to record_address_regs in regclass and
> how they use BASE_REG_CLASS.

I saw that, but I don't think that's the case.  It would indeed have
improved the score of SP_OR_ADDRESS_REGS, but see how ADDRESS_REGS and
SP_REGS get better scores by themselves.  They're `subunion'ed at the
end:

>> Register 26 costs: NO_REGS:30 DATA_REGS:36 ADDRESS_REGS:30 SP_REGS:30 DAT
>> A_OR_ADDRESS_REGS:42 SP_OR_ADDRESS_REGS:48 EXTENDED_REGS:54 DATA_OR_EXTENDE
>> D_REGS:54 ADDRESS_OR_EXTENDED_REGS:54 SP_OR_EXTENDED_REGS:54 SP_OR_ADDRESS_
>> OR_EXTENDED_REGS:54 GENERAL_REGS:54 ALL_REGS:54 MEM:45

> You would probably want to use '!' as the first constraint character in
> any alternative which includes 'y', and a '*' in front of 'y' itself.

Yep, this worked perfectly.  Ok to install?



More information about the Gcc-patches mailing list