https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108552

--- Comment #13 from Uroš Bizjak <ubizjak at gmail dot com> ---
-fverbose-asm annotated assembly:

prep_compound_page:
        pushl   %ebp    #
        movl    %esp, %ebp      #,
        pushl   %edi    #
        movl    %eax, %edi      # tmp356, page
        pushl   %esi    #
        pushl   %ebx    #
        subl    $20, %esp       #,
        cmpl    $31, %edx       #, order
        movl    %edx, -28(%ebp) # order, %sfp
        ja      .L1483  #,
.L1464:
        movzbl  -28(%ebp), %ecx # %sfp, tmp365
        movl    $1, %ebx        #, tmp182
        sall    %cl, %ebx       # tmp365, nr_pages
        cmpl    $-1, (%edi)     #, MEM[(const struct page *)page_12(D)].flags
        je      .L1486  #,
        addl    $1, __gcov0.prep_compound_page+16       #,
__gcov0.prep_compound_page[2]
        adcl    $0, __gcov0.prep_compound_page+20       #,
__gcov0.prep_compound_page[2]
#APP
# 68 "./arch/x86/include/asm/bitops.h" 1
         btsl  $16,(%edi)       #, MEM[(volatile long int *)_19]
# 0 "" 2
#NO_APP
        addl    $1, __gcov0.prep_compound_page+48       #,
__gcov0.prep_compound_page[6]
        adcl    $0, __gcov0.prep_compound_page+52       #,
__gcov0.prep_compound_page[6]
        cmpl    $1, %ebx        #, nr_pages
        jle     .L1470  #,
        leal    1(%edi), %eax   #, _159
        movl    __gcov0.prep_compound_page+60, %edx     #
__gcov0.prep_compound_page[7], ivtmp.1714
        movl    %eax, -24(%ebp) # _159, %sfp
        movl    __gcov0.prep_compound_page+56, %eax     #
__gcov0.prep_compound_page[7], ivtmp.1714
        leal    40(%edi), %ecx  #, ivtmp.1720
        movl    %edi, -32(%ebp) # page, %sfp
        addl    $1, %eax        #, ivtmp.1714
        movl    %eax, -20(%ebp) # ivtmp.1714, %sfp
        adcl    $0, %edx        #, ivtmp.1714
        movl    __gcov0.prep_compound_page+56, %eax     #
__gcov0.prep_compound_page[7], tmp228
        movl    %edx, -16(%ebp) # ivtmp.1714, %sfp
        movl    __gcov0.prep_compound_page+60, %edx     #
__gcov0.prep_compound_page[7],
        subl    $2, %ebx        #, tmp226
        xorl    %esi, %esi      #
        addl    $2, %eax        #, tmp228
        adcl    $0, %edx        #,
        addl    %eax, %ebx      # tmp228, tmp227
        movl    -20(%ebp), %eax # %sfp, ivtmp.1714
        adcl    %edx, %esi      #,
        movl    -16(%ebp), %edx # %sfp, ivtmp.1714
        movl    %esi, %edi      # _45, _45
        movl    %ebx, %esi      # _45, _45
        .p2align 4
        .p2align 3
.L1469:
        movl    %eax, __gcov0.prep_compound_page+56     # ivtmp.1714,
__gcov0.prep_compound_page[7]
        movl    -24(%ebp), %ebx # %sfp, _159
        addl    $1, %eax        #, ivtmp.1714
        movl    %edx, __gcov0.prep_compound_page+60     # ivtmp.1714,
__gcov0.prep_compound_page[7]
        adcl    $0, %edx        #, ivtmp.1714
        addl    $40, %ecx       #, ivtmp.1720
        movl    $1024, -28(%ecx)        #, MEM <struct address_space *> [(union
 *)p_15 + 12B]
        movl    %ebx, -36(%ecx) # _159, MEM[(volatile long unsigned int *)p_15
+ 4B]
        movl    %edi, %ebx      # _45, tmp230
        xorl    %edx, %ebx      # ivtmp.1714, tmp230
        movl    %ebx, -20(%ebp) # tmp230, %sfp
        movl    %esi, %ebx      # _45, tmp231
        xorl    %eax, %ebx      # ivtmp.1714, tmp231
        orl     -20(%ebp), %ebx # %sfp, tmp358
        jne     .L1469  #,
        movl    -32(%ebp), %edi # %sfp, page
.L1470:
        movb    $1, 48(%edi)    #, MEM[(struct page *)page_12(D) +
40B].D.13727.D.13705.compound_dtor
        ...

Reply via email to