https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99810
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Have you actually tried to run it on ARM, or are you just watching godbolt assembly? I see there: .LC0: .ascii "%lld\012\000" main: push {fp, lr} add fp, sp, #4 ldr r2, .L3 mvn r3, #14 ldr r0, .L3+4 bl printf mov r3, #0 mov r0, r3 sub sp, fp, #4 pop {fp, lr} bx lr .L3: .word -2006227456 .word .LC0 which means that r2 register will contain 0x886b6600 and r3 register ~14, i.e. 0xfffffff1.