I'm looking at an insn that has these reloads [attached]. Note that reload2 is not needed IF the reload 1 gets resolved. I haven't figured out yet how to tell gcc this. Suggestions? The fb+0 construct is something I create to recognize patterns that I've set up during legitimize_reload_address; eventually fb gets copied to a0.
This is, of course, for m32c. Reload 0: reload_in (HI) = (reg/f:HI 0 r0 [1956]) A_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 0) reload_in_reg: (reg/f:HI 0 r0 [1956]) Reload 1: reload_in (HI) = (plus:HI (reg/f:HI 7 fb) (const_int 0)) A_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 1) reload_in_reg: (plus:HI (reg/f:HI 7 fb) (const_int 0)) Reload 2: reload_in (HI) = (mem/c:HI (plus:HI (plus:HI (reg/f:HI 7 fb) (const_int 0)) (const_int -170)) [246 p+0 S2 A8]) A_REGS, RELOAD_FOR_OPERAND_ADDRESS (opnum = 1), can't combine reload_in_reg: (reg/v/f:HI 1722 [ p ])