.file "mergeSortTemplated.cpp" .section .text._Z5mergeIiEvPT_S1_iii,"axG",@progbits,_Z5mergeIiEvPT_S1_iii,comdat .weak _Z5mergeIiEvPT_S1_iii .type _Z5mergeIiEvPT_S1_iii, @function _Z5mergeIiEvPT_S1_iii: .LFB969: pushl %ebp .LCFI0: movl %esp, %ebp .LCFI1: subl $16, %esp .LCFI2: movl 16(%ebp), %eax movl %eax, -4(%ebp) jmp .L2 .L3: movl -4(%ebp), %eax sall $2, %eax movl %eax, %edx addl 12(%ebp), %edx movl -4(%ebp), %eax sall $2, %eax addl 8(%ebp), %eax movl (%eax), %eax movl %eax, (%edx) addl $1, -4(%ebp) .L2: movl -4(%ebp), %eax cmpl 24(%ebp), %eax jle .L3 movl 16(%ebp), %eax movl %eax, -4(%ebp) movl 20(%ebp), %eax addl $1, %eax movl %eax, -8(%ebp) movl 16(%ebp), %eax movl %eax, -12(%ebp) jmp .L4 .L7: movl -4(%ebp), %eax sall $2, %eax addl 12(%ebp), %eax movl (%eax), %edx movl -8(%ebp), %eax sall $2, %eax addl 12(%ebp), %eax movl (%eax), %eax cmpl %eax, %edx jg .L5 movl -12(%ebp), %eax sall $2, %eax movl %eax, %edx addl 8(%ebp), %edx movl -4(%ebp), %eax sall $2, %eax addl 12(%ebp), %eax movl (%eax), %eax movl %eax, (%edx) addl $1, -12(%ebp) addl $1, -4(%ebp) jmp .L4 .L5: movl -12(%ebp), %eax sall $2, %eax movl %eax, %edx addl 8(%ebp), %edx movl -8(%ebp), %eax sall $2, %eax addl 12(%ebp), %eax movl (%eax), %eax movl %eax, (%edx) addl $1, -12(%ebp) addl $1, -8(%ebp) .L4: movl -4(%ebp), %eax cmpl 20(%ebp), %eax jg .L8 movl -8(%ebp), %eax cmpl 24(%ebp), %eax jle .L7 jmp .L8 .L9: movl -12(%ebp), %eax sall $2, %eax movl %eax, %edx addl 8(%ebp), %edx movl -4(%ebp), %eax sall $2, %eax addl 12(%ebp), %eax movl (%eax), %eax movl %eax, (%edx) addl $1, -12(%ebp) addl $1, -4(%ebp) .L8: movl -4(%ebp), %eax cmpl 20(%ebp), %eax jle .L9 leave ret .LFE969: .size _Z5mergeIiEvPT_S1_iii, .-_Z5mergeIiEvPT_S1_iii .section .text._Z15mergeSortHelperIiEvPT_S1_ii,"axG",@progbits,_Z15mergeSortHelperIiEvPT_S1_ii,comdat .weak _Z15mergeSortHelperIiEvPT_S1_ii .type _Z15mergeSortHelperIiEvPT_S1_ii, @function _Z15mergeSortHelperIiEvPT_S1_ii: .LFB965: pushl %ebp .LCFI3: movl %esp, %ebp .LCFI4: subl $40, %esp .LCFI5: movl 16(%ebp), %eax cmpl 20(%ebp), %eax jge .L13 movl 20(%ebp), %edx movl 16(%ebp), %eax leal (%eax,%edx), %edx movl %edx, %eax shrl $31, %eax addl %edx, %eax sarl %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax movl %eax, 12(%esp) movl 16(%ebp), %eax movl %eax, 8(%esp) movl 12(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z15mergeSortHelperIiEvPT_S1_ii movl -4(%ebp), %eax leal 1(%eax), %edx movl 20(%ebp), %eax movl %eax, 12(%esp) movl %edx, 8(%esp) movl 12(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z15mergeSortHelperIiEvPT_S1_ii movl 20(%ebp), %eax movl %eax, 16(%esp) movl -4(%ebp), %eax movl %eax, 12(%esp) movl 16(%ebp), %eax movl %eax, 8(%esp) movl 12(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z5mergeIiEvPT_S1_iii .L13: leave ret .LFE965: .size _Z15mergeSortHelperIiEvPT_S1_ii, .-_Z15mergeSortHelperIiEvPT_S1_ii .section .text._Z5mergeIdEvPT_S1_iii,"axG",@progbits,_Z5mergeIdEvPT_S1_iii,comdat .weak _Z5mergeIdEvPT_S1_iii .type _Z5mergeIdEvPT_S1_iii, @function _Z5mergeIdEvPT_S1_iii: .LFB970: pushl %ebp .LCFI6: movl %esp, %ebp .LCFI7: subl $20, %esp .LCFI8: movl 16(%ebp), %eax movl %eax, -4(%ebp) jmp .L15 .L16: movl -4(%ebp), %eax sall $3, %eax movl %eax, %edx addl 12(%ebp), %edx movl -4(%ebp), %eax sall $3, %eax addl 8(%ebp), %eax fldl (%eax) fstpl (%edx) addl $1, -4(%ebp) .L15: movl -4(%ebp), %eax cmpl 24(%ebp), %eax jle .L16 movl 16(%ebp), %eax movl %eax, -4(%ebp) movl 20(%ebp), %eax addl $1, %eax movl %eax, -8(%ebp) movl 16(%ebp), %eax movl %eax, -12(%ebp) jmp .L17 .L21: movl -4(%ebp), %eax sall $3, %eax addl 12(%ebp), %eax fldl (%eax) movl -8(%ebp), %eax sall $3, %eax addl 12(%ebp), %eax fldl (%eax) fucompp fnstsw %ax sahf jb .L26 .L25: movl -12(%ebp), %eax sall $3, %eax movl %eax, %edx addl 8(%ebp), %edx movl -4(%ebp), %eax sall $3, %eax addl 12(%ebp), %eax fldl (%eax) fstpl (%edx) addl $1, -12(%ebp) addl $1, -4(%ebp) jmp .L17 .L26: movl -12(%ebp), %eax sall $3, %eax movl %eax, %edx addl 8(%ebp), %edx movl -8(%ebp), %eax sall $3, %eax addl 12(%ebp), %eax fldl (%eax) fstpl (%edx) addl $1, -12(%ebp) addl $1, -8(%ebp) .L17: movl -4(%ebp), %eax cmpl 20(%ebp), %eax jg .L22 movl -8(%ebp), %eax cmpl 24(%ebp), %eax jle .L21 jmp .L22 .L23: movl -12(%ebp), %eax sall $3, %eax movl %eax, %edx addl 8(%ebp), %edx movl -4(%ebp), %eax sall $3, %eax addl 12(%ebp), %eax fldl (%eax) fstpl (%edx) addl $1, -12(%ebp) addl $1, -4(%ebp) .L22: movl -4(%ebp), %eax cmpl 20(%ebp), %eax jle .L23 leave ret .LFE970: .size _Z5mergeIdEvPT_S1_iii, .-_Z5mergeIdEvPT_S1_iii .section .text._Z15mergeSortHelperIdEvPT_S1_ii,"axG",@progbits,_Z15mergeSortHelperIdEvPT_S1_ii,comdat .weak _Z15mergeSortHelperIdEvPT_S1_ii .type _Z15mergeSortHelperIdEvPT_S1_ii, @function _Z15mergeSortHelperIdEvPT_S1_ii: .LFB966: pushl %ebp .LCFI9: movl %esp, %ebp .LCFI10: subl $40, %esp .LCFI11: movl 16(%ebp), %eax cmpl 20(%ebp), %eax jge .L29 movl 20(%ebp), %edx movl 16(%ebp), %eax leal (%eax,%edx), %edx movl %edx, %eax shrl $31, %eax addl %edx, %eax sarl %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax movl %eax, 12(%esp) movl 16(%ebp), %eax movl %eax, 8(%esp) movl 12(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z15mergeSortHelperIdEvPT_S1_ii movl -4(%ebp), %eax leal 1(%eax), %edx movl 20(%ebp), %eax movl %eax, 12(%esp) movl %edx, 8(%esp) movl 12(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z15mergeSortHelperIdEvPT_S1_ii movl 20(%ebp), %eax movl %eax, 16(%esp) movl -4(%ebp), %eax movl %eax, 12(%esp) movl 16(%ebp), %eax movl %eax, 8(%esp) movl 12(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z5mergeIdEvPT_S1_iii .L29: leave ret .LFE966: .size _Z15mergeSortHelperIdEvPT_S1_ii, .-_Z15mergeSortHelperIdEvPT_S1_ii .text .type _Z41__static_initialization_and_destruction_0ii, @function _Z41__static_initialization_and_destruction_0ii: .LFB971: pushl %ebp .LCFI12: movl %esp, %ebp .LCFI13: subl $24, %esp .LCFI14: cmpl $1, 8(%ebp) jne .L32 cmpl $65535, 12(%ebp) jne .L32 movl $_ZStL8__ioinit, (%esp) call _ZNSt8ios_base4InitC1Ev movl $_ZNSt8ios_base4InitD1Ev, %eax movl $__dso_handle, 8(%esp) movl $_ZStL8__ioinit, 4(%esp) movl %eax, (%esp) call __cxa_atexit .L32: leave ret .LFE971: .size _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii .type _GLOBAL__I_main, @function _GLOBAL__I_main: .LFB972: pushl %ebp .LCFI15: movl %esp, %ebp .LCFI16: subl $8, %esp .LCFI17: movl $65535, 4(%esp) movl $1, (%esp) call _Z41__static_initialization_and_destruction_0ii leave ret .LFE972: .size _GLOBAL__I_main, .-_GLOBAL__I_main .section .ctors,"aw",@progbits .align 4 .long _GLOBAL__I_main .section .text._Z9mergeSortIiEvPT_i,"axG",@progbits,_Z9mergeSortIiEvPT_i,comdat .weak _Z9mergeSortIiEvPT_i .type _Z9mergeSortIiEvPT_i, @function _Z9mergeSortIiEvPT_i: .LFB959: pushl %ebp .LCFI18: movl %esp, %ebp .LCFI19: subl $40, %esp .LCFI20: movl 12(%ebp), %eax sall $2, %eax movl %eax, (%esp) call _Znaj movl %eax, -4(%ebp) movl 12(%ebp), %eax subl $1, %eax movl %eax, 12(%esp) movl $0, 8(%esp) movl -4(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z15mergeSortHelperIiEvPT_S1_ii cmpl $0, -4(%ebp) je .L37 movl -4(%ebp), %eax movl %eax, (%esp) call _ZdaPv .L37: leave ret .LFE959: .size _Z9mergeSortIiEvPT_i, .-_Z9mergeSortIiEvPT_i .section .text._Z9mergeSortIdEvPT_i,"axG",@progbits,_Z9mergeSortIdEvPT_i,comdat .weak _Z9mergeSortIdEvPT_i .type _Z9mergeSortIdEvPT_i, @function _Z9mergeSortIdEvPT_i: .LFB961: pushl %ebp .LCFI21: movl %esp, %ebp .LCFI22: subl $40, %esp .LCFI23: movl 12(%ebp), %eax sall $3, %eax movl %eax, (%esp) call _Znaj movl %eax, -4(%ebp) movl 12(%ebp), %eax subl $1, %eax movl %eax, 12(%esp) movl $0, 8(%esp) movl -4(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl %eax, (%esp) call _Z15mergeSortHelperIdEvPT_S1_ii cmpl $0, -4(%ebp) je .L40 movl -4(%ebp), %eax movl %eax, (%esp) call _ZdaPv .L40: leave ret .LFE961: .size _Z9mergeSortIdEvPT_i, .-_Z9mergeSortIdEvPT_i .section .rodata .LC1: .string "Unsorted data: " .LC2: .string "Sorted data: " .text .globl main .type main, @function main: .LFB955: leal 4(%esp), %ecx .LCFI24: andl $-16, %esp pushl -4(%ecx) .LCFI25: pushl %ebp .LCFI26: movl %esp, %ebp .LCFI27: pushl %ecx .LCFI28: subl $36, %esp .LCFI29: movl $5, -12(%ebp) movl $20, (%esp) call _Znaj movl %eax, -16(%ebp) movl -16(%ebp), %eax movl $9, (%eax) movl -16(%ebp), %eax addl $4, %eax movl $8, (%eax) movl -16(%ebp), %eax addl $8, %eax movl $7, (%eax) movl -16(%ebp), %eax addl $12, %eax movl $6, (%eax) movl -16(%ebp), %eax addl $16, %eax movl $5, (%eax) movl $.LC1, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E movl $0, -8(%ebp) jmp .L42 .L43: movl -8(%ebp), %eax sall $2, %eax addl -16(%ebp), %eax movl (%eax), %eax movl %eax, 4(%esp) movl $_ZSt4cout, (%esp) call _ZNSolsEi movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E addl $1, -8(%ebp) .L42: movl -8(%ebp), %eax cmpl -12(%ebp), %eax jl .L43 movl -12(%ebp), %eax movl %eax, 4(%esp) movl -16(%ebp), %eax movl %eax, (%esp) call _Z9mergeSortIiEvPT_i movl $.LC2, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E movl $0, -8(%ebp) jmp .L44 .L45: movl -8(%ebp), %eax sall $2, %eax addl -16(%ebp), %eax movl (%eax), %eax movl %eax, 4(%esp) movl $_ZSt4cout, (%esp) call _ZNSolsEi movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E addl $1, -8(%ebp) .L44: movl -8(%ebp), %eax cmpl -12(%ebp), %eax jl .L45 movl $40, (%esp) call _Znaj movl %eax, -20(%ebp) movl -20(%ebp), %eax fldl .LC3 fstpl (%eax) movl -20(%ebp), %eax addl $8, %eax fldl .LC4 fstpl (%eax) movl -20(%ebp), %eax addl $16, %eax fldl .LC5 fstpl (%eax) movl -20(%ebp), %eax addl $24, %eax fldl .LC6 fstpl (%eax) movl -20(%ebp), %eax addl $32, %eax fldl .LC7 fstpl (%eax) movl $.LC1, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E movl $0, -8(%ebp) jmp .L46 .L47: movl -8(%ebp), %eax sall $3, %eax addl -20(%ebp), %eax fldl (%eax) fstpl 4(%esp) movl $_ZSt4cout, (%esp) call _ZNSolsEd movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E addl $1, -8(%ebp) .L46: movl -8(%ebp), %eax cmpl -12(%ebp), %eax jl .L47 movl -12(%ebp), %eax movl %eax, 4(%esp) movl -20(%ebp), %eax movl %eax, (%esp) call _Z9mergeSortIdEvPT_i movl $.LC2, 4(%esp) movl $_ZSt4cout, (%esp) call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E movl $0, -8(%ebp) jmp .L48 .L49: movl -8(%ebp), %eax sall $3, %eax addl -20(%ebp), %eax fldl (%eax) fstpl 4(%esp) movl $_ZSt4cout, (%esp) call _ZNSolsEd movl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, 4(%esp) movl %eax, (%esp) call _ZNSolsEPFRSoS_E addl $1, -8(%ebp) .L48: movl -8(%ebp), %eax cmpl -12(%ebp), %eax jl .L49 movl $0, %eax addl $36, %esp popl %ecx popl %ebp leal -4(%ecx), %esp ret .LFE955: .size main, .-main .local _ZStL8__ioinit .comm _ZStL8__ioinit,1,1 .weakref _ZL20__gthrw_pthread_oncePiPFvvE,pthread_once .weakref _ZL27__gthrw_pthread_getspecificj,pthread_getspecific .weakref _ZL27__gthrw_pthread_setspecificjPKv,pthread_setspecific .weakref _ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_,pthread_create .weakref _ZL22__gthrw_pthread_cancelm,pthread_cancel .weakref _ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t,pthread_mutex_lock .weakref _ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t,pthread_mutex_trylock .weakref _ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t,pthread_mutex_unlock .weakref _ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t,pthread_mutex_init .weakref _ZL30__gthrw_pthread_cond_broadcastP14pthread_cond_t,pthread_cond_broadcast .weakref _ZL25__gthrw_pthread_cond_waitP14pthread_cond_tP15pthread_mutex_t,pthread_cond_wait .weakref _ZL26__gthrw_pthread_key_createPjPFvPvE,pthread_key_create .weakref _ZL26__gthrw_pthread_key_deletej,pthread_key_delete .weakref _ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t,pthread_mutexattr_init .weakref _ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti,pthread_mutexattr_settype .weakref _ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t,pthread_mutexattr_destroy .section .rodata .align 8 .LC3: .long 1717986918 .long 1075996262 .align 8 .LC4: .long 0 .long 1075904512 .align 8 .LC5: .long -858993459 .long 1075891404 .align 8 .LC6: .long -858993459 .long 1075367116 .align 8 .LC7: .long 1717986918 .long 1075078758 .section .eh_frame,"a",@progbits .Lframe1: .long .LECIE1-.LSCIE1 .LSCIE1: .long 0x0 .byte 0x1 .globl __gxx_personality_v0 .string "zP" .uleb128 0x1 .sleb128 -4 .byte 0x8 .uleb128 0x5 .byte 0x0 .long __gxx_personality_v0 .byte 0xc .uleb128 0x4 .uleb128 0x4 .byte 0x88 .uleb128 0x1 .align 4 .LECIE1: .LSFDE3: .long .LEFDE3-.LASFDE3 .LASFDE3: .long .LASFDE3-.Lframe1 .long .LFB965 .long .LFE965-.LFB965 .uleb128 0x0 .byte 0x4 .long .LCFI3-.LFB965 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI4-.LCFI3 .byte 0xd .uleb128 0x5 .align 4 .LEFDE3: .LSFDE7: .long .LEFDE7-.LASFDE7 .LASFDE7: .long .LASFDE7-.Lframe1 .long .LFB966 .long .LFE966-.LFB966 .uleb128 0x0 .byte 0x4 .long .LCFI9-.LFB966 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI10-.LCFI9 .byte 0xd .uleb128 0x5 .align 4 .LEFDE7: .LSFDE9: .long .LEFDE9-.LASFDE9 .LASFDE9: .long .LASFDE9-.Lframe1 .long .LFB971 .long .LFE971-.LFB971 .uleb128 0x0 .byte 0x4 .long .LCFI12-.LFB971 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI13-.LCFI12 .byte 0xd .uleb128 0x5 .align 4 .LEFDE9: .LSFDE13: .long .LEFDE13-.LASFDE13 .LASFDE13: .long .LASFDE13-.Lframe1 .long .LFB959 .long .LFE959-.LFB959 .uleb128 0x0 .byte 0x4 .long .LCFI18-.LFB959 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI19-.LCFI18 .byte 0xd .uleb128 0x5 .align 4 .LEFDE13: .LSFDE15: .long .LEFDE15-.LASFDE15 .LASFDE15: .long .LASFDE15-.Lframe1 .long .LFB961 .long .LFE961-.LFB961 .uleb128 0x0 .byte 0x4 .long .LCFI21-.LFB961 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI22-.LCFI21 .byte 0xd .uleb128 0x5 .align 4 .LEFDE15: .LSFDE17: .long .LEFDE17-.LASFDE17 .LASFDE17: .long .LASFDE17-.Lframe1 .long .LFB955 .long .LFE955-.LFB955 .uleb128 0x0 .byte 0x4 .long .LCFI24-.LFB955 .byte 0xc .uleb128 0x1 .uleb128 0x0 .byte 0x9 .uleb128 0x4 .uleb128 0x1 .byte 0x4 .long .LCFI25-.LCFI24 .byte 0xc .uleb128 0x4 .uleb128 0x4 .byte 0x4 .long .LCFI26-.LCFI25 .byte 0xe .uleb128 0x8 .byte 0x85 .uleb128 0x2 .byte 0x4 .long .LCFI27-.LCFI26 .byte 0xd .uleb128 0x5 .byte 0x4 .long .LCFI28-.LCFI27 .byte 0x84 .uleb128 0x3 .align 4 .LEFDE17: .ident "GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3" .section .note.GNU-stack,"",@progbits