https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114942
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ra --- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> --- Reload starts with: (insn 39 38 48 6 (parallel [ (set (strict_low_part (subreg:QI (reg/v:HI 108 [ f ]) 0)) (ior:QI (subreg:QI (zero_extract:HI (reg/v:HI 108 [ f ]) (const_int 8 [0x8]) (const_int 8 [0x8])) 0) (reg:QI 121 [ _7 ]))) (clobber (reg:CC 17 flags)) ]) "pr114942.c":19:7 626 {*iorqi_exthi_1_slp} (expr_list:REG_DEAD (reg:QI 121 [ _7 ]) (expr_list:REG_UNUSED (reg:CC 17 flags) (nil)))) Choosing alt 1 in insn 39: (0) &Q (1) !qm (2) Q {*iorqi_exthi_1_slp} and then allocates: (insn 39 56 57 6 (parallel [ (set (strict_low_part (reg:QI 2 cx [orig:108 f ] [108])) (ior:QI (subreg:QI (zero_extract:HI (reg/v:HI 2 cx [orig:108 f ] [108]) (const_int 8 [0x8]) (const_int 8 [0x8])) 0) (reg:QI 0 ax [orig:121 _7 ] [121]))) (clobber (reg:CC 17 flags)) ]) "pr114942.c":19:7 626 {*iorqi_exthi_1_slp} not taking into account the earlyclobber of operand 0.