https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10624
Eyal Rozenberg <eyalroz at technion dot ac.il> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eyalroz at technion dot ac.il --- Comment #8 from Eyal Rozenberg <eyalroz at technion dot ac.il> --- This seems to have been solved at some point. Compiling with -O3 -funroll-loops using GCC 8.2 on GodBolt: https://godbolt.org/z/4gBcw- We get: .LC0: .string "%d, %d\n" unroll_me: sub rsp, 8 xor edx, edx mov esi, 1 mov edi, OFFSET FLAT:.LC0 xor eax, eax call printf xor edx, edx mov esi, 2 xor eax, eax mov edi, OFFSET FLAT:.LC0 call printf mov edx, 1 xor eax, eax add rsp, 8 mov esi, 2 mov edi, OFFSET FLAT:.LC0 jmp printf Which is quite unrolled.