https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127699
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |DUPLICATE
Status|UNCONFIRMED |RESOLVED
--- Comment #4 from Drea Pinski <pinskia at gcc dot gnu.org> ---
;; MEM <char[7]> [(struct R *)&D.3057 + 9B] = {};
(insn 20 19 21 (set (mem/c:SI (plus:DI (reg/f:DI 95 virtual-stack-vars)
(const_int -16 [0xfffffffffffffff0])) [0 S4 A128])
(const_int 0 [0])) "/app/example.cpp":10:22 -1
(nil))
(insn 21 20 23 (set (mem/c:SI (plus:DI (reg/f:DI 95 virtual-stack-vars)
(const_int -13 [0xfffffffffffffff3])) [0 S4 A8])
(const_int 0 [0])) "/app/example.cpp":10:22 -1
(nil))
(insn 23 21 24 (set (reg:DI 131)
(const_int 72057594037927935 [0xffffffffffffff]))
"/app/example.cpp":10:22 -1
(nil))
(insn 24 23 25 (parallel [
(set (reg:DI 130)
(and:DI (reg:DI 131)
(mem/c:DI (plus:DI (reg/f:DI 95 virtual-stack-vars)
(const_int -16 [0xfffffffffffffff0])) [0 S8
A128])))
(clobber (reg:CC 17 flags))
]) "/app/example.cpp":10:22 -1
(nil))
(insn 25 24 26 (parallel [
(set (reg:DI 132)
(ashift:DI (reg:DI 130)
(const_int 8 [0x8])))
(clobber (reg:CC 17 flags))
]) "/app/example.cpp":10:22 -1
(nil))
(insn 26 25 27 (set (reg:DI 133)
(subreg:DI (reg:TI 118 [ D.3057 ]) 8)) "/app/example.cpp":10:22 -1
(nil))
(insn 27 26 28 (set (reg:DI 134)
(zero_extend:DI (subreg:QI (reg:DI 133) 0))) "/app/example.cpp":10:22
-1
(nil))
(insn 28 27 29 (parallel [
(set (reg:DI 135)
(plus:DI (reg:DI 134)
(reg:DI 132)))
(clobber (reg:CC 17 flags))
]) "/app/example.cpp":10:22 -1
(nil))
(insn 29 28 0 (set (reg:TI 118 [ D.3057 ])
(ior:TI (and:TI (reg:TI 118 [ D.3057 ])
(const_wide_int 0x0ffffffffffffffff))
(ashift:TI (zero_extend:TI (reg:DI 135))
(const_int 64 [0x40])))) "/app/example.cpp":10:22 -1
(nil))
So yes this is exactly the same as PR 110459. The loading of the "zero" is the
issue.
*** This bug has been marked as a duplicate of bug 110459 ***