The insn starts like this: (insn 238 237 239 35 ../../../../../src/newlib/libc/stdio/vfprintf.c:604 (set (reg/v:HI 175 [ ch ]) (sign_extend:HI (mem:QI (reg/v/f:HI 176 [ fmt ]) [0 S1 A8]))) 46 {extendqihi2} (nil) (nil))
Reload 0: reload_in (HI) = (plus:HI (reg/f:HI 7 fb) (const_int -128 [0xffffffffffffff80])) A_REGS, RELOAD_FOR_OUTPUT_ADDRESS (opnum = 0) reload_in_reg: (plus:HI (reg/f:HI 7 fb) (const_int -128 [0xffffffffffffff80])) Reload 1: reload_in (HI) = (plus:HI (reg/f:HI 7 fb) (const_int -128 [0xffffffffffffff80])) A_REGS, RELOAD_FOR_INPADDR_ADDRESS (opnum = 1) reload_in_reg: (plus:HI (reg/f:HI 7 fb) (const_int -128 [0xffffffffffffff80])) Reload 2: reload_in (HI) = (mem/c:HI (plus:HI (plus:HI (reg/f:HI 7 fb) (const_int -128 [0xffffffffffffff80])) (const_int -476 [0xfffffffffffffe24])) [108 fmt+0 S2 A8]) A_REGS, RELOAD_FOR_INPUT_ADDRESS (opnum = 1), can't combine reload_in_reg: (reg/v/f:HI 176 [ fmt ]) Reload 3: reload_in (QI) = (mem:QI (reg/v/f:HI 176 [ fmt ]) [0 S1 A8]) reload_out (HI) = (mem/c:HI (plus:HI (plus:HI (reg/f:HI 7 fb) (const_int -128 [0xffffffffffffff80])) (const_int -474 [0xfffffffffffffe26])) [107 ch+0 S2 A8]) HL_REGS, RELOAD_OTHER (opnum = 0) reload_in_reg: (mem:QI (reg/v/f:HI 176 [ fmt ]) [0 S1 A8]) reload_out_reg: (reg/v:HI 175 [ ch ]) And the md file: (define_insn "extendqihi2" [(set (match_operand:HI 0 "mra_operand" "=RhlSd*Rmm") (sign_extend:HI (match_operand:QI 1 "mra_operand" "0")))] "" "exts.b\t%1" [(set_attr "flags" "sz")] )