https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65068
amker at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #4 from amker at gcc dot gnu.org --- Fixed now, we now generates below code for a72/a57: .L4: ldr w0, [x1] add w0, w0, 1 str w0, [x1], 4 cmp x1, x2 bne .L4 The original issue reported is that loop invariant expression is split thus can't be hoisted out of loop. I think comment 3 is a different issue. Closing this one.