https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108552
--- Comment #16 from Uroš Bizjak <ubizjak at gmail dot com> --- addl $1, __gcov0.prep_compound_page+48 adcl $0, __gcov0.prep_compound_page+52 cmpl $1, %ebx jle .L1470 leal 1(%edi), %eax movl __gcov0.prep_compound_page+60, %edx <- load %eax/%edx from $ movl %eax, -24(%ebp) movl __gcov0.prep_compound_page+56, %eax leal 40(%edi), %ecx movl %edi, -32(%ebp) addl $1, %eax <- add $1 to %eax/%edx movl %eax, -20(%ebp) <- save to stack frame loc 20 adcl $0, %edx movl __gcov0.prep_compound_page+56, %eax <- load again %eax/%edx from $ movl %edx, -16(%ebp) movl __gcov0.prep_compound_page+60, %edx subl $2, %ebx <- subtract $2 to %ebx, zext to %ebx/%esi xorl %esi, %esi addl $2, %eax <- add $2 to %eax/%edx adcl $0, %edx addl %eax, %ebx <- move %eax/%edx to %ebx/%esi movl -20(%ebp), %eax <- load %eax/%edx from stack frame loc 20 adcl %edx, %esi movl -16(%ebp), %edx movl %esi, %edi <- move %ebx/%esi to %esi/%edi movl %ebx, %esi