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

Reply via email to