Re: default_secondary_reload: class vs scratch_class

2006-05-10 Thread Joern RENNECKE
n you make a copy of default_secondary_reload_class and modify the bit that sets icode to pick the appropriate pattern. ------------ * ** Re: default_secondary_reload: class vs scratch_class You should run any patch past Joern, though.

Re: default_secondary_reload: class vs scratch_class

2006-05-10 Thread DJ Delorie
> I'd hesitate to apply patches to default_secondary_reload. Even if it's wrong? > If your port triggers any of the sanity checks, convert it to the > new infrastructure, as it provides a much better interface. In my case, I'm just trying to get the am33 port to function, because I have some pa

Re: default_secondary_reload: class vs scratch_class

2006-05-10 Thread Bernd Schmidt
Ian Lance Taylor wrote: You should run any patch past Joern, though. I'd hesitate to apply patches to default_secondary_reload. If your port triggers any of the sanity checks, convert it to the new infrastructure, as it provides a much better interface. Bernd

Re: default_secondary_reload: class vs scratch_class

2006-05-10 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > > What reason is there to have scratch_class be something else? > > SECONDARY_RELOAD_CLASS has the option of limiting the reload class. > The mn10300 has a generic SImode reload_in that allows GENERAL_REGS, > but SECONDARY_RELOAD_CLASS specifies a smaller

Re: default_secondary_reload: class vs scratch_class

2006-05-10 Thread DJ Delorie
> What reason is there to have scratch_class be something else? SECONDARY_RELOAD_CLASS has the option of limiting the reload class. The mn10300 has a generic SImode reload_in that allows GENERAL_REGS, but SECONDARY_RELOAD_CLASS specifies a smaller class based on the registers that need reloading.

Re: default_secondary_reload: class vs scratch_class

2006-05-09 Thread Ian Lance Taylor
DJ Delorie <[EMAIL PROTECTED]> writes: > In default_secondary_reload, we have this code: > > if (reg_class_subset_p (reload_class, insn_class)) > { > gcc_assert (scratch_class == class); > class = NO_REGS; > > Why doesn't it allow the scratch class to be

default_secondary_reload: class vs scratch_class

2006-05-09 Thread DJ Delorie
In default_secondary_reload, we have this code: if (reg_class_subset_p (reload_class, insn_class)) { gcc_assert (scratch_class == class); class = NO_REGS; Why doesn't it allow the scratch class to be a superset of the desired class? I'm trying t