here are some information from the libgcc2.c.176r.greg. (BTY: the error happened when cc1 build the libgcc2.c)
Reloads for insn # 147 Reload 0: reload_out (SI) = (reg/v:SI 99 [ __d0 ]) GENERAL_REGS, RELOAD_FOR_OUTPUT (opnum = 0) reload_out_reg: (reg/v:SI 99 [ __d0 ]) reload_reg_rtx: (reg:SI 5 R5) Reload 1: reload_in (HI) = (subreg:HI (reg/v:SI 94 [ d0 ]) 0) GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1) reload_in_reg: (subreg:HI (reg/v:SI 94 [ d0 ]) 0) reload_reg_rtx: (reg:HI 5 R5) So does it mean when the pseduo register 94 allocated fail, the memory location will be substitute ?