http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58523
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- With -fno-common, arm LE produces: movw r3, #:lower16:.LANCHOR0 movt r3, #:upper16:.LANCHOR0 ldmia r3, {r0, r3} add r0, r0, r3 bx lr AARCH64 produces: adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 ldr w2, [x1] ldr w0, [x1,4] add w0, w2, w0 ret