https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113395
Bug ID: 113395 Summary: RTL expansion drops MEM_EXPR Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- struct S { signed m : 7; signed e : 2; } g; void k() { g.e ^= 1; } expands as (insn 8 7 0 (parallel [ (set (mem/j/c:HI (reg/f:DI 100) [0 +0 S2 A32]) (xor:HI (mem/j/c:HI (reg/f:DI 100) [0 +0 S2 A32]) (reg:HI 101))) (clobber (reg:CC 17 flags)) ]) "t.c":9:7 -1 (nil)) similar g.e = 1; (insn 9 8 10 (set (reg:HI 102) (mem/j/c:HI (reg/f:DI 101) [0 +0 S2 A32])) "t.c":9:7 -1 (nil)) ... (insn 12 11 0 (set (mem/j/c:HI (reg/f:DI 101) [0 +0 S2 A32]) (reg:HI 104)) "t.c":9:7 -1 (nil))