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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|rtl-optimization            |middle-end
           Keywords|                            |missed-optimization

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Hmm:
;; MEM[(unsigned char *)&a + 1B] = 1;

(insn 7 6 8 (set (reg:SI 115)
        (const_int 1 [0x1])) "/app/example.cpp":9:8 -1
     (nil))

(insn 8 7 9 (set (reg:QI 116)
        (subreg:QI (reg:SI 115) 0)) "/app/example.cpp":9:8 -1
     (nil))

(insn 9 8 0 (set (mem/c:QI (plus:SI (reg/f:SI 108 virtual-stack-vars)
                (const_int -23 [0xffffffffffffffe9])) [0 MEM[(unsigned char
*)&a + 1B]+0 S1 A8])
        (reg:QI 116)) "/app/example.cpp":9:8 -1
     (nil))

vs
;; a1[2] = 6;

(insn 13 12 14 (set (reg:SI 119)
        (const_int 6 [0x6])) "/app/example.cpp":11:9 -1
     (nil))

(insn 14 13 15 (set (reg:QI 120)
        (subreg:QI (reg:SI 119) 0)) "/app/example.cpp":11:9 -1
     (nil))

(insn 15 14 0 (set (mem/c:QI (plus:SI (reg/f:SI 108 virtual-stack-vars)
                (const_int -14 [0xfffffffffffffff2])) [0 a1[2]+0 S1 A16])
        (reg:QI 120)) "/app/example.cpp":11:9 -1
     (nil))

Reply via email to