__asm(R"(
.file "sort2.cpp"
.text
.section .text._ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_,"axG",@progbits,_ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_,comdat
.p2align 4,,15
.weak _ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_
.type _ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_, @function
_ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_:
.LFB901:
.cfi_startproc
pushl %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
pushl %edi
.cfi_def_cfa_offset 12
.cfi_offset 7, -12
pushl %esi
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
pushl %ebx
.cfi_def_cfa_offset 20
.cfi_offset 3, -20
subl $4, %esp
.cfi_def_cfa_offset 24
movl 32(%esp), %eax
movl 28(%esp), %ebp
movl 24(%esp), %ecx
subl $1, %eax
movl %eax, %edi
shrl $31, %edi
addl %eax, %edi
movl 32(%esp), %eax
sarl %edi
andl $1, %eax
movl %eax, (%esp)
cmpl %edi, %ebp
jge .L2
movl %ebp, %eax
.p2align 4,,10
.p2align 3
.L3:
leal 1(%eax), %ebx
leal (%ebx,%ebx), %edx
leal (%ecx,%ebx,8), %esi
movl (%esi), %ebx
cmpl %ebx, -4(%ecx,%edx,4)
jbe .L4
subl $1, %edx
leal (%ecx,%edx,4), %esi
movl (%esi), %ebx
movl %ebx, (%ecx,%eax,4)
cmpl %edx, %edi
jle .L5
.L6:
movl %edx, %eax
jmp .L3
.p2align 4,,10
.p2align 3
.L4:
movl %ebx, (%ecx,%eax,4)
cmpl %edx, %edi
jg .L6
.L5:
movl (%esp), %ebx
testl %ebx, %ebx
je .L12
.L7:
leal -1(%edx), %eax
movl %eax, %ebx
shrl $31, %ebx
addl %eax, %ebx
sarl %ebx
cmpl %ebp, %edx
jle .L9
movl (%ecx,%ebx,4), %edi
cmpl %edi, 36(%esp)
ja .L10
jmp .L9
.p2align 4,,10
.p2align 3
.L11:
movl %ebx, %edx
movl (%ecx,%eax,4), %edi
movl %eax, %ebx
cmpl %edi, 36(%esp)
jbe .L9
.L10:
movl %edi, (%ecx,%edx,4)
leal -1(%ebx), %edx
leal (%ecx,%ebx,4), %esi
movl %edx, %eax
shrl $31, %eax
addl %edx, %eax
sarl %eax
cmpl %ebx, %ebp
jl .L11
.L9:
movl 36(%esp), %eax
movl %eax, (%esi)
addl $4, %esp
.cfi_remember_state
.cfi_def_cfa_offset 20
popl %ebx
.cfi_restore 3
.cfi_def_cfa_offset 16
popl %esi
.cfi_restore 6
.cfi_def_cfa_offset 12
popl %edi
.cfi_restore 7
.cfi_def_cfa_offset 8
popl %ebp
.cfi_restore 5
.cfi_def_cfa_offset 4
ret
.p2align 4,,10
.p2align 3
.L13:
.cfi_restore_state
movl %ebp, %edx
.p2align 4,,10
.p2align 3
.L12:
movl 32(%esp), %eax
leal -2(%eax), %ebx
movl %ebx, %eax
shrl $31, %eax
addl %ebx, %eax
sarl %eax
cmpl %edx, %eax
je .L8
leal (%ecx,%edx,4), %esi
jmp .L7
.p2align 4,,10
.p2align 3
.L8:
leal 2(%edx,%edx), %eax
movl -4(%ecx,%eax,4), %ebx
movl %ebx, (%ecx,%edx,4)
leal -1(%eax), %edx
leal (%ecx,%edx,4), %esi
jmp .L7
.p2align 4,,10
.p2align 3
.L2:
movl (%esp), %eax
testl %eax, %eax
je .L13
leal (%ecx,%ebp,4), %esi
jmp .L9
.cfi_endproc
.LFE901:
.size _ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_, .-_ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_
.text
.p2align 4,,15
.type _ZSt16__introsort_loopIPjiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_T1_.isra.16, @function
_ZSt16__introsort_loopIPjiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_T1_.isra.16:
.LFB925:
.cfi_startproc
pushl %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
pushl %edi
.cfi_def_cfa_offset 12
.cfi_offset 7, -12
movl %eax, %edi
movl %edx, %eax
pushl %esi
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
subl %edi, %eax
pushl %ebx
.cfi_def_cfa_offset 20
.cfi_offset 3, -20
subl $28, %esp
.cfi_def_cfa_offset 48
movl %edx, 4(%esp)
movl %ecx, 8(%esp)
cmpl $64, %eax
jle .L49
testl %ecx, %ecx
je .L53
leal 4(%edi), %esi
movl %esi, 12(%esp)
.L26:
sarl $3, %eax
movl 4(%esp), %ebp
movl 4(%edi), %ecx
leal (%edi,%eax,4), %esi
subl $1, 8(%esp)
movl (%edi), %edx
movl (%esi), %eax
movl -4(%ebp), %ebx
cmpl %eax, %ecx
jnb .L29
cmpl %ebx, %eax
jb .L54
movl %ebp, %eax
cmpl %ebx, %ecx
jb .L51
.L52:
movl %ecx, (%edi)
movl %edx, 4(%edi)
movl -4(%eax), %edx
.L31:
movl 12(%esp), %ebx
.p2align 4,,10
.p2align 3
.L34:
movl (%ebx), %ebp
movl %ebx, %esi
cmpl %ecx, %ebp
jb .L36
subl $4, %eax
cmpl %edx, %ecx
jnb .L37
.p2align 4,,10
.p2align 3
.L38:
subl $4, %eax
movl (%eax), %edx
cmpl %ecx, %edx
ja .L38
.L37:
cmpl %eax, %ebx
jnb .L55
movl %edx, (%ebx)
movl -4(%eax), %edx
movl %ebp, (%eax)
movl (%edi), %ecx
.L36:
addl $4, %ebx
jmp .L34
.p2align 4,,10
.p2align 3
.L29:
cmpl %ebx, %ecx
jb .L56
cmpl %ebx, %eax
jnb .L35
movl %ebp, %eax
.L51:
movl %ebx, (%edi)
movl %edx, -4(%eax)
movl (%edi), %ecx
jmp .L31
.p2align 4,,10
.p2align 3
.L55:
movl 8(%esp), %ecx
movl 4(%esp), %edx
movl %ebx, %eax
call _ZSt16__introsort_loopIPjiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_T1_.isra.16
movl %ebx, %eax
subl %edi, %eax
cmpl $64, %eax
jle .L49
movl 8(%esp), %edx
movl %ebx, 4(%esp)
testl %edx, %edx
jne .L26
.L24:
sarl $2, %eax
leal -2(%eax), %ebp
movl %eax, %ebx
sarl %ebp
jmp .L28
.p2align 4,,10
.p2align 3
.L57:
subl $1, %ebp
.L28:
subl $12, %esp
.cfi_def_cfa_offset 60
pushl $0
.cfi_def_cfa_offset 64
pushl (%edi,%ebp,4)
.cfi_def_cfa_offset 68
pushl %ebx
.cfi_def_cfa_offset 72
pushl %ebp
.cfi_def_cfa_offset 76
pushl %edi
.cfi_def_cfa_offset 80
call _ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_
addl $32, %esp
.cfi_def_cfa_offset 48
testl %ebp, %ebp
jne .L57
.p2align 4,,10
.p2align 3
.L27:
subl $4, %esi
movl (%esi), %eax
movl (%edi), %edx
subl $12, %esp
.cfi_def_cfa_offset 60
movl %esi, %ebx
subl %edi, %ebx
movl %edx, (%esi)
pushl $0
.cfi_def_cfa_offset 64
pushl %eax
.cfi_def_cfa_offset 68
movl %ebx, %eax
sarl $2, %eax
pushl %eax
.cfi_def_cfa_offset 72
pushl $0
.cfi_def_cfa_offset 76
pushl %edi
.cfi_def_cfa_offset 80
call _ZSt13__adjust_heapIPjijN9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_S5_T1_T2_
addl $32, %esp
.cfi_def_cfa_offset 48
cmpl $4, %ebx
jg .L27
.L49:
addl $28, %esp
.cfi_remember_state
.cfi_def_cfa_offset 20
popl %ebx
.cfi_restore 3
.cfi_def_cfa_offset 16
popl %esi
.cfi_restore 6
.cfi_def_cfa_offset 12
popl %edi
.cfi_restore 7
.cfi_def_cfa_offset 8
popl %ebp
.cfi_restore 5
.cfi_def_cfa_offset 4
ret
.L54:
.cfi_restore_state
movl %eax, (%edi)
movl %ebp, %eax
movl %edx, (%esi)
movl (%edi), %ecx
movl -4(%ebp), %edx
jmp .L31
.L56:
movl %ebp, %eax
jmp .L52
.L35:
movl %eax, (%edi)
movl 4(%esp), %eax
movl %edx, (%esi)
movl (%edi), %ecx
movl -4(%eax), %edx
jmp .L31
.L53:
movl 4(%esp), %esi
jmp .L24
.cfi_endproc
.LFE925:
.size _ZSt16__introsort_loopIPjiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_T1_.isra.16, .-_ZSt16__introsort_loopIPjiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_T1_.isra.16
.p2align 4,,15
.globl _Z4sortPji
.type _Z4sortPji, @function
_Z4sortPji:
.LFB878:
.cfi_startproc
call __x86.get_pc_thunk.ax
addl $_GLOBAL_OFFSET_TABLE_, %eax
pushl %ebp
.cfi_def_cfa_offset 8
.cfi_offset 5, -8
pushl %edi
.cfi_def_cfa_offset 12
.cfi_offset 7, -12
pushl %esi
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
pushl %ebx
.cfi_def_cfa_offset 20
.cfi_offset 3, -20
subl $28, %esp
.cfi_def_cfa_offset 48
movl %eax, (%esp)
movl 52(%esp), %eax
movl 48(%esp), %edi
leal 0(,%eax,4), %ebx
leal (%edi,%ebx), %ebp
cmpl %edi, %ebp
je .L88
movl %ebx, %ecx
movl %edi, %eax
movl %ebp, %edx
sarl $2, %ecx
bsrl %ecx, %ecx
addl %ecx, %ecx
call _ZSt16__introsort_loopIPjiN9__gnu_cxx5__ops15_Iter_less_iterEEvT_S4_T0_T1_.isra.16
leal 4(%edi), %eax
movl %eax, 4(%esp)
movl %eax, %esi
cmpl $64, %ebx
jle .L60
leal 64(%edi), %eax
movl %ebp, 12(%esp)
movl %edi, %ebp
movl %eax, 8(%esp)
jmp .L61
.p2align 4,,10
.p2align 3
.L91:
cmpl %ebp, %esi
je .L64
movl %esi, %eax
subl $4, %esp
.cfi_def_cfa_offset 52
subl %ebp, %eax
pushl %eax
.cfi_def_cfa_offset 56
pushl %ebp
.cfi_def_cfa_offset 60
pushl 16(%esp)
.cfi_def_cfa_offset 64
movl 16(%esp), %ebx
call memmove@PLT
addl $16, %esp
.cfi_def_cfa_offset 48
.L64:
movl %edi, 0(%ebp)
addl $4, %esi
cmpl %esi, 8(%esp)
je .L90
.L61:
movl (%esi), %edi
cmpl 0(%ebp), %edi
jb .L91
movl -4(%esi), %ecx
leal -4(%esi), %eax
cmpl %ecx, %edi
jb .L67
jmp .L92
.p2align 4,,10
.p2align 3
.L78:
movl %edx, %eax
.L67:
movl %ecx, 4(%eax)
movl -4(%eax), %ecx
leal -4(%eax), %edx
cmpl %ecx, %edi
jb .L78
movl %edi, (%eax)
.L96:
addl $4, %esi
cmpl %esi, 8(%esp)
jne .L61
.L90:
movl 12(%esp), %ebp
cmpl %esi, %ebp
je .L88
.p2align 4,,10
.p2align 3
.L62:
movl (%esi), %ebx
movl -4(%esi), %edx
leal -4(%esi), %eax
cmpl %edx, %ebx
jb .L70
jmp .L93
.p2align 4,,10
.p2align 3
.L80:
movl %ecx, %eax
.L70:
movl %edx, 4(%eax)
movl -4(%eax), %edx
leal -4(%eax), %ecx
cmpl %edx, %ebx
jb .L80
addl $4, %esi
movl %ebx, (%eax)
cmpl %esi, %ebp
jne .L62
.L88:
addl $28, %esp
.cfi_remember_state
.cfi_def_cfa_offset 20
popl %ebx
.cfi_restore 3
.cfi_def_cfa_offset 16
popl %esi
.cfi_restore 6
.cfi_def_cfa_offset 12
popl %edi
.cfi_restore 7
.cfi_def_cfa_offset 8
popl %ebp
.cfi_restore 5
.cfi_def_cfa_offset 4
ret
.p2align 4,,10
.p2align 3
.L60:
.cfi_restore_state
cmpl 4(%esp), %ebp
je .L88
movl %ebp, %edx
movl %edi, %ebp
jmp .L76
.p2align 4,,10
.p2align 3
.L94:
cmpl %ebp, %esi
je .L72
movl %esi, %eax
movl %edx, 8(%esp)
subl $4, %esp
.cfi_def_cfa_offset 52
subl %ebp, %eax
pushl %eax
.cfi_def_cfa_offset 56
pushl %ebp
.cfi_def_cfa_offset 60
pushl 16(%esp)
.cfi_def_cfa_offset 64
movl 16(%esp), %ebx
call memmove@PLT
addl $16, %esp
.cfi_def_cfa_offset 48
movl 8(%esp), %edx
.L72:
movl %edi, 0(%ebp)
.L73:
addl $4, %esi
cmpl %esi, %edx
je .L88
.L76:
movl (%esi), %edi
cmpl 0(%ebp), %edi
jb .L94
movl -4(%esi), %ecx
leal -4(%esi), %eax
cmpl %ecx, %edi
jb .L75
jmp .L95
.p2align 4,,10
.p2align 3
.L82:
movl %ebx, %eax
.L75:
movl %ecx, 4(%eax)
movl -4(%eax), %ecx
leal -4(%eax), %ebx
cmpl %ecx, %edi
jb .L82
movl %edi, (%eax)
jmp .L73
.p2align 4,,10
.p2align 3
.L93:
movl %esi, %eax
addl $4, %esi
movl %ebx, (%eax)
cmpl %esi, %ebp
jne .L62
jmp .L88
.L95:
movl %esi, %eax
movl %edi, (%eax)
jmp .L73
.L92:
movl %esi, %eax
movl %edi, (%eax)
jmp .L96
.cfi_endproc
.LFE878:
.size _Z4sortPji, .-_Z4sortPji
.section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
.globl __x86.get_pc_thunk.ax
.hidden __x86.get_pc_thunk.ax
.type __x86.get_pc_thunk.ax, @function
__x86.get_pc_thunk.ax:
.LFB927:
.cfi_startproc
movl (%esp), %eax
ret
.cfi_endproc
.LFE927:
.ident "GCC: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0"
.section .note.GNU-stack,"",@progbits
)");
| Compilation | N/A | N/A | Compile Error | Score: N/A | 显示更多 |