https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55181

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot 
gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #26 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So I guess this is mine too.

With my patches I created to improve PR 109907 (attached there), the initial
RTL now looks like:
;; _9 = (unsigned char) _8;

(insn 6 5 0 (set (reg/v:QI 46 [ <retval> ])
        (zero_extract:QI (subreg:QI (reg/v:SI 47 [ number ]) 3)
            (const_int 1 [0x1])
            (const_int 5 [0x5]))) "t2.c":4:6 -1
     (nil))

Where it was before:
;; _9 = (unsigned char) _8;

(insn 6 5 7 (set (reg:SI 48)
        (lshiftrt:SI (reg/v:SI 47 [ number ])
            (const_int 29 [0x1d]))) "t2.c":4:6 -1
     (nil))

(insn 7 6 0 (set (reg/v:QI 46 [ <retval> ])
        (and:QI (subreg:QI (reg:SI 48) 0)
            (const_int 1 [0x1]))) "t2.c":4:6 -1
     (nil))

Reply via email to