https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81020
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW Assignee|rguenth at gcc dot gnu.org |unassigned at gcc dot gnu.org Summary|[6/7 Regression] wrong code |[6/7/8 Regression] wrong |with -O -fno-tree-bit-ccp |code with -O |-fno-tree-coalesce-vars |-fno-tree-bit-ccp |-fno-tree-vrp |-fno-tree-coalesce-vars | |-fno-tree-vrp --- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- There's nothing wrong with the GIMPLE (looked at aarch64) so it must be some other RTL optimization issue. aarch64 assembler is foo: adrp x1, .LANCHOR0 ldr w1, [x1, #:lo12:.LANCHOR0] orr w0, w1, w0 ret that looks indeed bogus (just does return v | x;?)