https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83304

--- Comment #3 from ktkachov at gcc dot gnu.org ---
hmm, I'm getting some weird behaviour.
I see the test failing in a testsuite run.
When I try to build and run the test outside the testsuite harness it doesn't
abort.

However, the generated code between trunk (which fails in the testsuite) and
trunk with r255384 reverted (which doesn't fail) differs greatly with the
options:

-O3  -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
-finline-functions  -mthumb -march=armv8-a -mfpu=crypto-neon-fp-armv8
-mfloat-abi=hard 

clean trunk:
main:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 0, uses_anonymous_args = 0
        mvn     r2, #126
        push    {lr}
.L2:
        adds    r3, r2, #1
        cmp     r3, #129
        add     r2, r2, #5
        bne     .L2
        movs    r0, #0
        ldr     pc, [sp], #4


trunk with r255384 reverted (which fails in the testsuite):
main:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 0, uses_anonymous_args = 0
        push    {r3, lr}
        mvn     r3, #126
        b       .L2
.L4:
        mov     r1, #1
        it      eq
        moveq   r1, #0
        cmp     r2, #0
        it      ne
        movne   r1, #0
        cbnz    r1, .L22
        mov     r1, #1
        it      eq
        moveq   r1, #0
        adds    r0, r2, #1
        and     r0, r1, #1
        it      ne
        movne   r0, #0
        cbnz    r0, .L22
        adds    r0, r3, #3
        it      eq
        moveq   r2, #1
        it      ne
        movne   r2, #0
        it      eq
        moveq   r2, #0
        cbnz    r2, .L22
        adds    r1, r3, #4
        it      eq
        moveq   r2, #1
        it      ne
        movne   r2, #0
        it      eq
        moveq   r2, #0
        cbnz    r2, .L22
        adds    r3, r3, #5
        mov     r2, #1
        it      eq
        moveq   r2, #0
        it      ne
        movne   r2, #0
        cbnz    r2, .L22
.L2:
        adds    r2, r3, #1
        cmp     r2, #129
        bne     .L4
        movs    r0, #0
        pop     {r3, pc}
.L22:
        bl      abort

Reply via email to