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.

Reply via email to