Created
November 6, 2012 02:20
-
-
Save HappyCerberus/4022145 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
simon@lenovo:~/repos/teaching/examples/PB161> ./a.out | |
dry run 499994165 | |
Accumulate runtime 28169000 - 499994165 | |
Manual sum runtime 44949000 - 499994165 | |
simon@lenovo:~/repos/teaching/examples/PB161> ./a.out | |
dry run 499996968 | |
Accumulate runtime 32467000 - 499996968 | |
Manual sum runtime 44659000 - 499996968 | |
simon@lenovo:~/repos/teaching/examples/PB161> ./a.out | |
dry run 500024233 | |
Accumulate runtime 30345000 - 500024233 | |
Manual sum runtime 44849000 - 500024233 | |
simon@lenovo:~/repos/teaching/examples/PB161> ./a.out | |
dry run 499979701 | |
Accumulate runtime 28184000 - 499979701 | |
Manual sum runtime 45376000 - 499979701 | |
simon@lenovo:~/repos/teaching/examples/PB161> ./a.out | |
dry run 499981730 | |
Accumulate runtime 30010000 - 499981730 | |
Manual sum runtime 45032000 - 499981730 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.file "test.cpp" | |
.section .text._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,comdat | |
.align 2 | |
.p2align 4,,15 | |
.weak _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
.type _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv, @function | |
_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv: | |
.LFB3336: | |
.cfi_startproc | |
movq 4992(%rdi), %rax | |
cmpq $623, %rax | |
jbe .L15 | |
movq (%rdi), %r8 | |
leaq 8(%rdi), %rdx | |
xorl %esi, %esi | |
movl $2567483615, %r10d | |
xorl %r9d, %r9d | |
.p2align 4,,10 | |
.p2align 3 | |
.L6: | |
movq %r8, %rax | |
movq (%rdx), %r8 | |
addq $1, %rsi | |
andq $-2147483648, %rax | |
movq %r8, %rcx | |
andl $2147483647, %ecx | |
orq %rax, %rcx | |
movq %r9, %rax | |
testb $1, %cl | |
cmovne %r10, %rax | |
xorq 3168(%rdx), %rax | |
shrq %rcx | |
xorq %rcx, %rax | |
movq %rax, -8(%rdx) | |
addq $8, %rdx | |
cmpq $227, %rsi | |
jne .L6 | |
movq 1816(%rdi), %r8 | |
leaq 1824(%rdi), %rdx | |
movl $2567483615, %r10d | |
xorl %r9d, %r9d | |
.p2align 4,,10 | |
.p2align 3 | |
.L9: | |
movq %r8, %rax | |
movq (%rdx), %r8 | |
addq $1, %rsi | |
andq $-2147483648, %rax | |
movq %r8, %rcx | |
andl $2147483647, %ecx | |
orq %rax, %rcx | |
movq %r9, %rax | |
testb $1, %cl | |
cmovne %r10, %rax | |
xorq -1824(%rdx), %rax | |
shrq %rcx | |
xorq %rcx, %rax | |
movq %rax, -8(%rdx) | |
addq $8, %rdx | |
cmpq $623, %rsi | |
jne .L9 | |
movq (%rdi), %rcx | |
movq 4984(%rdi), %rax | |
movl $2567483615, %esi | |
movq %rcx, %rdx | |
andq $-2147483648, %rax | |
andl $2147483647, %edx | |
orq %rax, %rdx | |
movq %rdx, %rax | |
shrq %rax | |
xorq 3168(%rdi), %rax | |
andl $1, %edx | |
movl $0, %edx | |
cmove %rdx, %rsi | |
xorq %rsi, %rax | |
movq %rax, 4984(%rdi) | |
movl $1, %eax | |
.L3: | |
movq %rcx, %rdx | |
movq %rax, 4992(%rdi) | |
shrq $11, %rdx | |
movl %edx, %edx | |
xorq %rcx, %rdx | |
movq %rdx, %rax | |
salq $7, %rax | |
andl $2636928640, %eax | |
xorq %rdx, %rax | |
movq %rax, %rdx | |
salq $15, %rdx | |
andl $4022730752, %edx | |
xorq %rax, %rdx | |
movq %rdx, %rax | |
shrq $18, %rax | |
xorq %rdx, %rax | |
ret | |
.L15: | |
movq (%rdi,%rax,8), %rcx | |
addq $1, %rax | |
jmp .L3 | |
.cfi_endproc | |
.LFE3336: | |
.size _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv, .-_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
.section .text._ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE,"axG",@progbits,_ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE,comdat | |
.align 2 | |
.p2align 4,,15 | |
.weak _ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE | |
.type _ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE, @function | |
_ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE: | |
.LFB3266: | |
.cfi_startproc | |
pushq %r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
pushq %r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
movq %rdx, %r14 | |
pushq %r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
pushq %r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
pushq %rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
pushq %rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
movq %rsi, %rbx | |
subq $24, %rsp | |
.cfi_def_cfa_offset 80 | |
movl (%rdx), %eax | |
movl 4(%rdx), %r12d | |
subq %rax, %r12 | |
movl $4294967294, %eax | |
cmpq %rax, %r12 | |
ja .L17 | |
addq $1, %r12 | |
movb $-1, %al | |
xorl %edx, %edx | |
divq %r12 | |
imulq %rax, %r12 | |
movq %rax, %rbp | |
.p2align 4,,10 | |
.p2align 3 | |
.L18: | |
movq %rbx, %rdi | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmpq %rax, %r12 | |
jbe .L18 | |
xorl %edx, %edx | |
divq %rbp | |
.L19: | |
addl (%r14), %eax | |
addq $24, %rsp | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
popq %rbx | |
.cfi_def_cfa_offset 48 | |
popq %rbp | |
.cfi_def_cfa_offset 40 | |
popq %r12 | |
.cfi_def_cfa_offset 32 | |
popq %r13 | |
.cfi_def_cfa_offset 24 | |
popq %r14 | |
.cfi_def_cfa_offset 16 | |
popq %r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L17: | |
.cfi_restore_state | |
movl $4294967295, %r13d | |
cmpq %r13, %r12 | |
je .L20 | |
movq %r12, %r15 | |
shrq $32, %r15 | |
leaq 1(%r15), %rax | |
movq %rax, 8(%rsp) | |
jmp .L29 | |
.p2align 4,,10 | |
.p2align 3 | |
.L21: | |
movq %rbx, %rdi | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
.L23: | |
movq %rax, %rbp | |
movq %rbx, %rdi | |
salq $32, %rbp | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
addq %rbp, %rax | |
jae .L31 | |
.L29: | |
cmpq %r13, %r15 | |
je .L21 | |
movq %r13, %rax | |
xorl %edx, %edx | |
divq 8(%rsp) | |
movq %rax, %rbp | |
movq %rax, (%rsp) | |
imulq 8(%rsp), %rbp | |
.p2align 4,,10 | |
.p2align 3 | |
.L22: | |
movq %rbx, %rdi | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmpq %rax, %rbp | |
jbe .L22 | |
xorl %edx, %edx | |
divq (%rsp) | |
jmp .L23 | |
.p2align 4,,10 | |
.p2align 3 | |
.L20: | |
movq %rsi, %rdi | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
jmp .L19 | |
.p2align 4,,10 | |
.p2align 3 | |
.L31: | |
cmpq %r12, %rax | |
ja .L29 | |
.p2align 4,,8 | |
jmp .L19 | |
.cfi_endproc | |
.LFE3266: | |
.size _ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE, .-_ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE | |
.section .text._ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_,"axG",@progbits,_ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_,comdat | |
.align 2 | |
.p2align 4,,15 | |
.weak _ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_ | |
.type _ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_, @function | |
_ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_: | |
.LFB3338: | |
.cfi_startproc | |
movq %rbx, -32(%rsp) | |
movq %r12, -16(%rsp) | |
.cfi_offset 3, -40 | |
.cfi_offset 12, -24 | |
movq %rdi, %rbx | |
movq %r13, -8(%rsp) | |
movq %rbp, -24(%rsp) | |
subq $40, %rsp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 13, -16 | |
.cfi_offset 6, -32 | |
movq 8(%rdi), %rdx | |
subq (%rdi), %rdx | |
movq %rsi, %r13 | |
movl $4, %r12d | |
sarq $2, %rdx | |
testq %rdx, %rdx | |
je .L34 | |
leaq (%rdx,%rdx), %rax | |
cmpq %rax, %rdx | |
jbe .L52 | |
movq $-4, %r12 | |
.L34: | |
movq %r12, %rdi | |
call _Znwm | |
movq (%rbx), %rdi | |
movq 8(%rbx), %rcx | |
movq %rax, %rbp | |
movl 0(%r13), %eax | |
movq %rbp, %r13 | |
subq %rdi, %rcx | |
sarq $2, %rcx | |
leaq 0(,%rcx,4), %rdx | |
addq %rdx, %r13 | |
je .L35 | |
movl %eax, 0(%r13) | |
.L35: | |
testq %rcx, %rcx | |
je .L36 | |
movq %rdi, %rsi | |
movq %rbp, %rdi | |
call memmove | |
movq (%rbx), %rdi | |
.L36: | |
addq $4, %r13 | |
testq %rdi, %rdi | |
je .L37 | |
call _ZdlPv | |
.L37: | |
movq %rbp, (%rbx) | |
addq %r12, %rbp | |
movq %r13, 8(%rbx) | |
movq %rbp, 16(%rbx) | |
movq 24(%rsp), %r12 | |
movq 8(%rsp), %rbx | |
movq 16(%rsp), %rbp | |
movq 32(%rsp), %r13 | |
addq $40, %rsp | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.L52: | |
.cfi_restore_state | |
movabsq $4611686018427387903, %rcx | |
salq $3, %rdx | |
movq $-4, %r12 | |
cmpq %rcx, %rax | |
cmovbe %rdx, %r12 | |
jmp .L34 | |
.cfi_endproc | |
.LFE3338: | |
.size _ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_, .-_ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_ | |
.weak _ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIJiEEEvDpOT_ | |
.set _ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIJiEEEvDpOT_,_ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_ | |
.section .rodata.str1.1,"aMS",@progbits,1 | |
.LC0: | |
.string "dry run " | |
.LC1: | |
.string "Accumulate runtime " | |
.LC2: | |
.string " - " | |
.LC3: | |
.string "Manual sum runtime " | |
.section .text.startup,"ax",@progbits | |
.p2align 4,,15 | |
.globl main | |
.type main, @function | |
main: | |
.LFB3088: | |
.cfi_startproc | |
.cfi_personality 0x3,__gxx_personality_v0 | |
.cfi_lsda 0x3,.LLSDA3088 | |
pushq %r14 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 14, -16 | |
movl $400000000, %edi | |
pushq %r13 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 13, -24 | |
pushq %r12 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 12, -32 | |
pushq %rbp | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 6, -40 | |
pushq %rbx | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 3, -48 | |
subq $5104, %rsp | |
.cfi_def_cfa_offset 5152 | |
movq $0, 64(%rsp) | |
movq $0, 72(%rsp) | |
movq $0, 80(%rsp) | |
.LEHB0: | |
call _Znwm | |
movq 64(%rsp), %rdi | |
movq %rax, %rbx | |
testq %rdi, %rdi | |
je .L54 | |
call _ZdlPv | |
.L54: | |
movq %rbx, 64(%rsp) | |
movq %rbx, 72(%rsp) | |
addq $400000000, %rbx | |
movq %rbx, 80(%rsp) | |
movq $5489, 96(%rsp) | |
movl $5489, %eax | |
movl $1, %ecx | |
movabsq $945986875574848801, %rdi | |
.p2align 4,,10 | |
.p2align 3 | |
.L55: | |
movq %rax, %rdx | |
shrq $30, %rdx | |
xorq %rax, %rdx | |
imulq $1812433253, %rdx, %rsi | |
movq %rcx, %rdx | |
shrq $4, %rdx | |
movq %rdx, %rax | |
mulq %rdi | |
movq %rcx, %rax | |
shrq %rdx | |
imulq $624, %rdx, %rdx | |
subq %rdx, %rax | |
leal (%rax,%rsi), %eax | |
movq %rax, 96(%rsp,%rcx,8) | |
addq $1, %rcx | |
cmpq $624, %rcx | |
jne .L55 | |
movq $624, 5088(%rsp) | |
call _ZNSt6chrono12system_clock3nowEv | |
movabsq $4835703278458516699, %rdx | |
movq %rax, %rcx | |
movabsq $945986875574848801, %rdi | |
imulq %rdx | |
sarq $63, %rcx | |
sarq $18, %rdx | |
movl %edx, %eax | |
subl %ecx, %eax | |
movl $1, %ecx | |
movq %rax, 96(%rsp) | |
.p2align 4,,10 | |
.p2align 3 | |
.L56: | |
movq %rax, %rdx | |
shrq $30, %rdx | |
xorq %rax, %rdx | |
imulq $1812433253, %rdx, %rsi | |
movq %rcx, %rdx | |
shrq $4, %rdx | |
movq %rdx, %rax | |
mulq %rdi | |
movq %rcx, %rax | |
shrq %rdx | |
imulq $624, %rdx, %rdx | |
subq %rdx, %rax | |
leal (%rax,%rsi), %eax | |
movq %rax, 96(%rsp,%rcx,8) | |
addq $1, %rcx | |
cmpq $624, %rcx | |
jne .L56 | |
xorl %r13d, %r13d | |
movl $10, %ebp | |
movq $624, 5088(%rsp) | |
movl %r13d, %eax | |
movl $0, 32(%rsp) | |
movl $10, 36(%rsp) | |
subq %rax, %rbp | |
movl $4294967294, %eax | |
movl $100000000, %r12d | |
cmpq %rax, %rbp | |
ja .L57 | |
.p2align 4,,10 | |
.p2align 3 | |
.L134: | |
addq $1, %rbp | |
movb $-1, %al | |
xorl %edx, %edx | |
divq %rbp | |
imulq %rax, %rbp | |
movq %rax, %r14 | |
.p2align 4,,10 | |
.p2align 3 | |
.L58: | |
leaq 96(%rsp), %rdi | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmpq %rax, %rbp | |
jbe .L58 | |
xorl %edx, %edx | |
divq %r14 | |
.L59: | |
movq 72(%rsp), %rdx | |
cmpq 80(%rsp), %rdx | |
leal 0(%r13,%rax), %ebx | |
movl %ebx, 16(%rsp) | |
je .L62 | |
testq %rdx, %rdx | |
je .L63 | |
movl %ebx, (%rdx) | |
.L63: | |
addq $4, %rdx | |
subl $1, %r12d | |
movq %rdx, 72(%rsp) | |
je .L65 | |
.L135: | |
movl 32(%rsp), %r13d | |
movl 36(%rsp), %ebp | |
movl %r13d, %eax | |
subq %rax, %rbp | |
movl $4294967294, %eax | |
cmpq %rax, %rbp | |
jbe .L134 | |
.L57: | |
movl $4294967295, %eax | |
cmpq %rax, %rbp | |
je .L60 | |
movq %rbp, %r14 | |
shrq $32, %r14 | |
.p2align 4,,10 | |
.p2align 3 | |
.L132: | |
leaq 48(%rsp), %rdx | |
leaq 96(%rsp), %rsi | |
leaq 32(%rsp), %rdi | |
movl $0, 48(%rsp) | |
movl %r14d, 52(%rsp) | |
call _ZNSt24uniform_int_distributionIjEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEjRT_RKNS0_10param_typeE | |
leaq 96(%rsp), %rdi | |
movq %rax, %rbx | |
salq $32, %rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
addq %rbx, %rax | |
jb .L132 | |
cmpq %rax, %rbp | |
jb .L132 | |
.p2align 4,,5 | |
jmp .L59 | |
.p2align 4,,10 | |
.p2align 3 | |
.L60: | |
leaq 96(%rsp), %rdi | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
.p2align 4,,3 | |
jmp .L59 | |
.p2align 4,,10 | |
.p2align 3 | |
.L62: | |
leaq 16(%rsp), %rsi | |
leaq 64(%rsp), %rdi | |
call _ZNSt6vectorIiSaIiEE19_M_emplace_back_auxIIiEEEvDpOT_ | |
subl $1, %r12d | |
jne .L135 | |
.L65: | |
movq 64(%rsp), %rsi | |
movq %rsi, %rcx | |
andl $15, %ecx | |
shrq $2, %rcx | |
negq %rcx | |
andl $3, %ecx | |
je .L91 | |
xorl %edx, %edx | |
xorl %ebx, %ebx | |
movl $99999999, %r8d | |
.p2align 4,,10 | |
.p2align 3 | |
.L68: | |
movslq (%rsi,%rdx,4), %rax | |
movq %r8, %rdi | |
subq %rdx, %rdi | |
addq %rax, %rbx | |
leaq 1(%rdx), %rax | |
cmpq %rax, %rcx | |
movq %rax, %rdx | |
ja .L68 | |
.L67: | |
movl $100000000, %r10d | |
subq %rcx, %r10 | |
movq %r10, %r8 | |
shrq $2, %r8 | |
leaq 0(,%r8,4), %r9 | |
testq %r9, %r9 | |
je .L69 | |
pxor %xmm0, %xmm0 | |
leaq (%rsi,%rcx,4), %rcx | |
pxor %xmm4, %xmm4 | |
xorl %edx, %edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L70: | |
movdqa (%rcx), %xmm1 | |
addq $1, %rdx | |
movdqa %xmm4, %xmm2 | |
addq $16, %rcx | |
movdqa %xmm1, %xmm3 | |
cmpq %r8, %rdx | |
pcmpgtd %xmm1, %xmm2 | |
punpckldq %xmm2, %xmm3 | |
punpckhdq %xmm2, %xmm1 | |
paddq %xmm3, %xmm0 | |
paddq %xmm1, %xmm0 | |
jb .L70 | |
movdqa %xmm0, %xmm1 | |
addq %r9, %rax | |
subq %r9, %rdi | |
psrldq $8, %xmm1 | |
paddq %xmm1, %xmm0 | |
movq %xmm0, 8(%rsp) | |
addq 8(%rsp), %rbx | |
cmpq %r9, %r10 | |
je .L71 | |
.L69: | |
addq %rax, %rdi | |
.p2align 4,,10 | |
.p2align 3 | |
.L72: | |
movslq (%rsi,%rax,4), %rdx | |
addq $1, %rax | |
addq %rdx, %rbx | |
cmpq %rdi, %rax | |
jne .L72 | |
.L71: | |
movl $.LC0, %esi | |
movl $_ZSt4cout, %edi | |
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
movq %rbx, %rsi | |
movq %rax, %rdi | |
call _ZNSo9_M_insertIxEERSoT_ | |
movq %rax, %rdi | |
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ | |
call _ZNSt6chrono12system_clock3nowEv | |
movq 72(%rsp), %r8 | |
movq 64(%rsp), %r9 | |
movq %rax, %rbx | |
cmpq %r9, %r8 | |
je .L92 | |
leaq 4(%r9), %rax | |
movq %r9, %rsi | |
movq %r8, %rdi | |
andl $15, %esi | |
movq %r9, %rcx | |
subq %rax, %rdi | |
shrq $2, %rsi | |
shrq $2, %rdi | |
negq %rsi | |
addq $1, %rdi | |
andl $3, %esi | |
cmpq %rdi, %rsi | |
cmova %rdi, %rsi | |
cmpq $8, %rdi | |
cmovbe %rdi, %rsi | |
testq %rsi, %rsi | |
je .L93 | |
xorl %eax, %eax | |
xorl %edx, %edx | |
.p2align 4,,10 | |
.p2align 3 | |
.L76: | |
addq $1, %rax | |
addl (%rcx), %edx | |
addq $4, %rcx | |
cmpq %rax, %rsi | |
ja .L76 | |
cmpq %rsi, %rdi | |
je .L73 | |
.L75: | |
movq %rdi, %r11 | |
subq %rsi, %r11 | |
movq %r11, %rax | |
shrq $2, %rax | |
leaq 0(,%rax,4), %r10 | |
testq %r10, %r10 | |
je .L81 | |
pxor %xmm0, %xmm0 | |
leaq (%r9,%rsi,4), %rdi | |
xorl %esi, %esi | |
.p2align 4,,10 | |
.p2align 3 | |
.L79: | |
addq $1, %rsi | |
paddd (%rdi), %xmm0 | |
addq $16, %rdi | |
cmpq %rax, %rsi | |
jb .L79 | |
movdqa %xmm0, %xmm1 | |
leaq (%rcx,%r10,4), %rcx | |
psrldq $8, %xmm1 | |
paddd %xmm1, %xmm0 | |
movdqa %xmm0, %xmm1 | |
psrldq $4, %xmm1 | |
paddd %xmm1, %xmm0 | |
movd %xmm0, 8(%rsp) | |
addl 8(%rsp), %edx | |
cmpq %r10, %r11 | |
je .L73 | |
.p2align 4,,10 | |
.p2align 3 | |
.L81: | |
addl (%rcx), %edx | |
addq $4, %rcx | |
cmpq %rcx, %r8 | |
jne .L81 | |
.L73: | |
movslq %edx, %rbp | |
call _ZNSt6chrono12system_clock3nowEv | |
movl $.LC1, %esi | |
subq %rbx, %rax | |
movl $_ZSt4cout, %edi | |
imulq $1000, %rax, %rbx | |
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
movq %rbx, %rsi | |
movq %rax, %rdi | |
call _ZNSo9_M_insertIlEERSoT_ | |
movl $.LC2, %esi | |
movq %rax, %rdi | |
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
movq %rbp, %rsi | |
movq %rax, %rdi | |
call _ZNSo9_M_insertIxEERSoT_ | |
movq %rax, %rdi | |
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ | |
call _ZNSt6chrono12system_clock3nowEv | |
movq %rax, %rbp | |
movq 64(%rsp), %rax | |
movq %rax, %rsi | |
andl $15, %esi | |
shrq $2, %rsi | |
negq %rsi | |
andl $3, %esi | |
je .L94 | |
xorl %ecx, %ecx | |
xorl %ebx, %ebx | |
movl $99999999, %r8d | |
.p2align 4,,10 | |
.p2align 3 | |
.L83: | |
movslq (%rax,%rcx,4), %rdx | |
movq %r8, %rdi | |
subq %rcx, %rdi | |
addq %rdx, %rbx | |
leaq 1(%rcx), %rdx | |
cmpq %rdx, %rsi | |
movq %rdx, %rcx | |
ja .L83 | |
.L82: | |
movl $100000000, %r10d | |
subq %rsi, %r10 | |
movq %r10, %r8 | |
shrq $2, %r8 | |
leaq 0(,%r8,4), %r9 | |
testq %r9, %r9 | |
je .L84 | |
pxor %xmm0, %xmm0 | |
leaq (%rax,%rsi,4), %rsi | |
pxor %xmm4, %xmm4 | |
xorl %ecx, %ecx | |
.p2align 4,,10 | |
.p2align 3 | |
.L85: | |
movdqa (%rsi), %xmm1 | |
addq $1, %rcx | |
movdqa %xmm4, %xmm2 | |
addq $16, %rsi | |
movdqa %xmm1, %xmm3 | |
cmpq %r8, %rcx | |
pcmpgtd %xmm1, %xmm2 | |
punpckldq %xmm2, %xmm3 | |
punpckhdq %xmm2, %xmm1 | |
paddq %xmm3, %xmm0 | |
paddq %xmm1, %xmm0 | |
jb .L85 | |
movdqa %xmm0, %xmm1 | |
addq %r9, %rdx | |
subq %r9, %rdi | |
psrldq $8, %xmm1 | |
paddq %xmm1, %xmm0 | |
movq %xmm0, 8(%rsp) | |
addq 8(%rsp), %rbx | |
cmpq %r9, %r10 | |
je .L86 | |
.L84: | |
addq %rdx, %rdi | |
.p2align 4,,10 | |
.p2align 3 | |
.L87: | |
movslq (%rax,%rdx,4), %rcx | |
addq $1, %rdx | |
addq %rcx, %rbx | |
cmpq %rdi, %rdx | |
jne .L87 | |
.L86: | |
call _ZNSt6chrono12system_clock3nowEv | |
movl $.LC3, %esi | |
subq %rbp, %rax | |
movl $_ZSt4cout, %edi | |
imulq $1000, %rax, %rbp | |
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
movq %rbp, %rsi | |
movq %rax, %rdi | |
call _ZNSo9_M_insertIlEERSoT_ | |
movl $.LC2, %esi | |
movq %rax, %rdi | |
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc | |
movq %rbx, %rsi | |
movq %rax, %rdi | |
call _ZNSo9_M_insertIxEERSoT_ | |
movq %rax, %rdi | |
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ | |
.LEHE0: | |
movq 64(%rsp), %rdi | |
testq %rdi, %rdi | |
je .L104 | |
call _ZdlPv | |
.L104: | |
addq $5104, %rsp | |
.cfi_remember_state | |
.cfi_def_cfa_offset 48 | |
xorl %eax, %eax | |
popq %rbx | |
.cfi_def_cfa_offset 40 | |
popq %rbp | |
.cfi_def_cfa_offset 32 | |
popq %r12 | |
.cfi_def_cfa_offset 24 | |
popq %r13 | |
.cfi_def_cfa_offset 16 | |
popq %r14 | |
.cfi_def_cfa_offset 8 | |
ret | |
.L92: | |
.cfi_restore_state | |
xorl %edx, %edx | |
jmp .L73 | |
.L93: | |
xorl %edx, %edx | |
jmp .L75 | |
.L91: | |
movl $100000000, %edi | |
xorl %eax, %eax | |
xorl %ebx, %ebx | |
jmp .L67 | |
.L95: | |
movq 64(%rsp), %rdi | |
movq %rax, %rbx | |
testq %rdi, %rdi | |
je .L90 | |
call _ZdlPv | |
.L90: | |
movq %rbx, %rdi | |
.LEHB1: | |
call _Unwind_Resume | |
.LEHE1: | |
.L94: | |
movl $100000000, %edi | |
xorl %edx, %edx | |
xorl %ebx, %ebx | |
jmp .L82 | |
.cfi_endproc | |
.LFE3088: | |
.globl __gxx_personality_v0 | |
.section .gcc_except_table,"a",@progbits | |
.LLSDA3088: | |
.byte 0xff | |
.byte 0xff | |
.byte 0x1 | |
.uleb128 .LLSDACSE3088-.LLSDACSB3088 | |
.LLSDACSB3088: | |
.uleb128 .LEHB0-.LFB3088 | |
.uleb128 .LEHE0-.LEHB0 | |
.uleb128 .L95-.LFB3088 | |
.uleb128 0 | |
.uleb128 .LEHB1-.LFB3088 | |
.uleb128 .LEHE1-.LEHB1 | |
.uleb128 0 | |
.uleb128 0 | |
.LLSDACSE3088: | |
.section .text.startup | |
.size main, .-main | |
.p2align 4,,15 | |
.type _GLOBAL__sub_I_main, @function | |
_GLOBAL__sub_I_main: | |
.LFB3408: | |
.cfi_startproc | |
subq $8, %rsp | |
.cfi_def_cfa_offset 16 | |
movl $_ZStL8__ioinit, %edi | |
call _ZNSt8ios_base4InitC1Ev | |
movl $__dso_handle, %edx | |
movl $_ZStL8__ioinit, %esi | |
movl $_ZNSt8ios_base4InitD1Ev, %edi | |
addq $8, %rsp | |
.cfi_def_cfa_offset 8 | |
jmp __cxa_atexit | |
.cfi_endproc | |
.LFE3408: | |
.size _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main | |
.section .init_array,"aw" | |
.align 8 | |
.quad _GLOBAL__sub_I_main | |
.local _ZStL8__ioinit | |
.comm _ZStL8__ioinit,1,1 | |
.hidden __dso_handle | |
.ident "GCC: (SUSE Linux) 4.7.1 20120723 [gcc-4_7-branch revision 189773]" | |
.section .comment.SUSE.OPTs,"MS",@progbits,1 | |
.string "Ospwg" | |
.section .note.GNU-stack,"",@progbits |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment