https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84528
Bug ID: 84528 Summary: [8 Regression] gcc.c-torture/execute/960419-2.c -O3 fails with -fno-omit-frame-pointer Product: gcc Version: unknown Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org Target Milestone: --- Target: aarch64 Haven't determined yet if this is related to PR 84521 but gcc.c-torture/execute/960419-2.c fails when compiled with -O3 -fno-omit-frame-pointer whereas it didn't in GCC 7. The good code from GCC 7 is: main: stp x29, x30, [sp, -48]! add x29, sp, 0 add x0, x29, 20 stp xzr, xzr, [x0] str xzr, [x29, 36] ldr w0, [x29, 24] cbnz w0, .L2 ldr w0, [x29, 28] cbnz w0, .L2 ldr w0, [x29, 32] cbnz w0, .L2 ldr w0, [x29, 36] cbnz w0, .L2 ldr w0, [x29, 40] cbnz w0, .L2 bl exit .L2: bl abort whereas the bad code from GCC 8 is: main: stp x29, x30, [sp, -48]! mov x29, sp ldr w0, [sp, 24] str xzr, [sp, 36] cbnz w0, .L2 ldr w0, [sp, 28] cbnz w0, .L2 ldr w0, [sp, 32] cbnz w0, .L2 ldr w0, [sp, 36] cbnz w0, .L2 ldr w0, [sp, 40] cbnz w0, .L2 bl exit .L2: bl abort