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 a superset of the desired > class? I'm trying to build am33_2.0-linux-gnu, and I'm getting to > here with scratch_class GENERAL_REGS and class DATA_OR_EXTENDED_REGS. > reload_class and insn_class are ADDRESS_REGS.
In general the reload_in and reload_out instructions should match SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS. It's a sanity check. What reason is there to have scratch_class be something else? Ian