https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41481
Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |5.4
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #3 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
For a long time now (since before gcc-5.4), gcc has generated something like
foo(A*):
ldrb r3, [r0, #4]
movs r1, #3
movs r2, #1
bics r3, r1
orrs r3, r2
str r2, [r0]
strb r3, [r0, #4]
bx lr
So this is fixed