Created
November 4, 2012 16:01
-
-
Save splinterofchaos/4012385 to your computer and use it in GitHub Desktop.
some random efficiency tests for http://blog.knatten.org/2012/11/02/efficient-pure-functional-programming-in-c-using-move-semantics/
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 "func-effic.cpp" | |
# GNU C++ (Ubuntu/Linaro 4.7.2-4precise1) version 4.7.2 (x86_64-linux-gnu) | |
# compiled by GNU C version 4.7.2, GMP version 5.0.2, MPFR version 3.1.0-p3, MPC version 0.9 | |
# GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 | |
# options passed: -imultiarch x86_64-linux-gnu -D_GNU_SOURCE | |
# func-effic.cpp -mtune=generic -march=x86-64 -O4 -std=c++11 -fverbose-asm | |
# -fstack-protector | |
# options enabled: -fasynchronous-unwind-tables -fauto-inc-dec | |
# -fbranch-count-reg -fcaller-saves -fcombine-stack-adjustments -fcommon | |
# -fcompare-elim -fcprop-registers -fcrossjumping -fcse-follow-jumps | |
# -fdebug-types-section -fdefer-pop -fdelete-null-pointer-checks | |
# -fdevirtualize -fdwarf2-cfi-asm -fearly-inlining | |
# -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations | |
# -fforward-propagate -ffunction-cse -fgcse -fgcse-after-reload -fgcse-lm | |
# -fgnu-runtime -fguess-branch-probability -fident -fif-conversion | |
# -fif-conversion2 -findirect-inlining -finline -finline-atomics | |
# -finline-functions -finline-functions-called-once | |
# -finline-small-functions -fipa-cp -fipa-cp-clone -fipa-profile | |
# -fipa-pure-const -fipa-reference -fipa-sra -fira-share-save-slots | |
# -fira-share-spill-slots -fivopts -fkeep-static-consts | |
# -fleading-underscore -fmath-errno -fmerge-constants -fmerge-debug-strings | |
# -fmove-loop-invariants -fomit-frame-pointer -foptimize-register-move | |
# -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole | |
# -fpeephole2 -fpredictive-commoning -fprefetch-loop-arrays -free | |
# -freg-struct-return -fregmove -freorder-blocks -freorder-functions | |
# -frerun-cse-after-loop -fsched-critical-path-heuristic | |
# -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock | |
# -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec | |
# -fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fschedule-insns2 | |
# -fshow-column -fshrink-wrap -fsigned-zeros -fsplit-ivs-in-unroller | |
# -fsplit-wide-types -fstack-protector -fstrict-aliasing -fstrict-overflow | |
# -fstrict-volatile-bitfields -fthread-jumps -ftoplevel-reorder | |
# -ftrapping-math -ftree-bit-ccp -ftree-builtin-call-dce -ftree-ccp | |
# -ftree-ch -ftree-copy-prop -ftree-copyrename -ftree-cselim -ftree-dce | |
# -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre | |
# -ftree-loop-distribute-patterns -ftree-loop-if-convert -ftree-loop-im | |
# -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops= | |
# -ftree-partial-pre -ftree-phiprop -ftree-pre -ftree-pta -ftree-reassoc | |
# -ftree-scev-cprop -ftree-sink -ftree-slp-vectorize -ftree-sra | |
# -ftree-switch-conversion -ftree-tail-merge -ftree-ter | |
# -ftree-vect-loop-version -ftree-vectorize -ftree-vrp -funit-at-a-time | |
# -funswitch-loops -funwind-tables -fvect-cost-model -fverbose-asm | |
# -fzero-initialized-in-bss -m128bit-long-double -m64 -m80387 | |
# -maccumulate-outgoing-args -malign-stringops -mfancy-math-387 | |
# -mfp-ret-in-387 -mglibc -mieee-fp -mmmx -mno-sse4 -mpush-args -mred-zone | |
# -msse -msse2 -mtls-direct-seg-refs | |
.text | |
.p2align 4,,15 | |
.globl _Z3sumRKSt6vectorIdSaIdEE | |
.type _Z3sumRKSt6vectorIdSaIdEE, @function | |
_Z3sumRKSt6vectorIdSaIdEE: | |
.LFB3046: | |
.cfi_startproc | |
movq 8(%rdi), %rcx # MEM[(const struct vector *)v_1(D) + 8B], D.57783 | |
movq (%rdi), %rax # MEM[(const struct vector *)v_1(D)], __first$_M_current | |
cmpq %rax, %rcx # __first$_M_current, D.57783 | |
je .L4 #, | |
xorl %edx, %edx # __init | |
.p2align 4,,10 | |
.p2align 3 | |
.L3: | |
cvtsi2sd %edx, %xmm0 # __init, D.57800 | |
addsd (%rax), %xmm0 # MEM[base: D.58928_42, offset: 0], D.57800 | |
addq $8, %rax #, ivtmp.280 | |
cmpq %rax, %rcx # ivtmp.280, D.57783 | |
cvttsd2si %xmm0, %edx # D.57800, __init | |
jne .L3 #, | |
cvtsi2sd %edx, %xmm0 # __init, prephitmp.273 | |
ret | |
.L4: | |
xorpd %xmm0, %xmm0 # prephitmp.273 | |
ret | |
.cfi_endproc | |
.LFE3046: | |
.size _Z3sumRKSt6vectorIdSaIdEE, .-_Z3sumRKSt6vectorIdSaIdEE | |
.p2align 4,,15 | |
.globl _Z4meanRKSt6vectorIdSaIdEE | |
.type _Z4meanRKSt6vectorIdSaIdEE, @function | |
_Z4meanRKSt6vectorIdSaIdEE: | |
.LFB3047: | |
.cfi_startproc | |
movq 8(%rdi), %rcx # MEM[(const struct vector *)v_1(D) + 8B], D.57819 | |
movq (%rdi), %rsi # MEM[(const struct vector *)v_1(D)], __first$_M_current | |
xorpd %xmm0, %xmm0 # prephitmp.293 | |
cmpq %rsi, %rcx # __first$_M_current, D.57819 | |
je .L8 #, | |
movq %rsi, %rax # __first$_M_current, ivtmp.300 | |
xorl %edx, %edx # __init | |
.p2align 4,,10 | |
.p2align 3 | |
.L9: | |
cvtsi2sd %edx, %xmm0 # __init, D.57814 | |
addsd (%rax), %xmm0 # MEM[base: D.58948_44, offset: 0], D.57814 | |
addq $8, %rax #, ivtmp.300 | |
cmpq %rax, %rcx # ivtmp.300, D.57819 | |
cvttsd2si %xmm0, %edx # D.57814, __init | |
jne .L9 #, | |
cvtsi2sd %edx, %xmm0 # __init, prephitmp.293 | |
.L8: | |
subq %rsi, %rcx # __first$_M_current, tmp92 | |
sarq $3, %rcx #, tmp92 | |
testq %rcx, %rcx # tmp92 | |
js .L10 #, | |
cvtsi2sdq %rcx, %xmm1 # tmp92, tmp93 | |
divsd %xmm1, %xmm0 # tmp93, tmp89 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L10: | |
movq %rcx, %rax # tmp92, tmp95 | |
andl $1, %ecx #, tmp96 | |
shrq %rax # tmp95 | |
orq %rcx, %rax # tmp96, tmp95 | |
cvtsi2sdq %rax, %xmm1 # tmp95, tmp93 | |
addsd %xmm1, %xmm1 # tmp93, tmp93 | |
divsd %xmm1, %xmm0 # tmp93, tmp89 | |
ret | |
.cfi_endproc | |
.LFE3047: | |
.size _Z4meanRKSt6vectorIdSaIdEE, .-_Z4meanRKSt6vectorIdSaIdEE | |
.p2align 4,,15 | |
.globl _Z7squaredd | |
.type _Z7squaredd, @function | |
_Z7squaredd: | |
.LFB3048: | |
.cfi_startproc | |
mulsd %xmm0, %xmm0 # tmp62, tmp62 | |
ret | |
.cfi_endproc | |
.LFE3048: | |
.size _Z7squaredd, .-_Z7squaredd | |
.p2align 4,,15 | |
.globl _ZN8stateful6squareERSt6vectorIdSaIdEE | |
.type _ZN8stateful6squareERSt6vectorIdSaIdEE, @function | |
_ZN8stateful6squareERSt6vectorIdSaIdEE: | |
.LFB3049: | |
.cfi_startproc | |
movq (%rdi), %r9 # MEM[(double * const &)v_1(D)], __first$_M_current | |
movq 8(%rdi), %rdi # MEM[(double * const &)v_1(D) + 8], D.57942 | |
cmpq %rdi, %r9 # D.57942, __first$_M_current | |
je .L15 #, | |
leaq 8(%r9), %rax #, tmp112 | |
movq %rdi, %rsi # D.57942, tmp114 | |
movq %r9, %rcx # __first$_M_current, tmp118 | |
salq $60, %rcx #, tmp118 | |
subq %rax, %rsi # tmp112, tmp114 | |
shrq $63, %rcx #, tmp118 | |
movq %r9, %rax # __first$_M_current, __first$_M_current | |
shrq $3, %rsi #, tmp114 | |
addq $1, %rsi #, prologue_after_cost_adjust.312 | |
cmpq %rsi, %rcx # prologue_after_cost_adjust.312, tmp118 | |
cmova %rsi, %rcx # tmp118,, prologue_after_cost_adjust.312, prologue_after_cost_adjust.312 | |
cmpq $2, %rsi #, prologue_after_cost_adjust.312 | |
cmovbe %rsi, %rcx # prologue_after_cost_adjust.312,, prologue_after_cost_adjust.312, prologue_after_cost_adjust.312 | |
testq %rcx, %rcx # prologue_after_cost_adjust.312 | |
je .L18 #, | |
xorl %edx, %edx # ivtmp.338 | |
.p2align 4,,10 | |
.p2align 3 | |
.L19: | |
movsd (%rax), %xmm0 # MEM[base: __first$_M_current_53, offset: 0], tmp119 | |
addq $1, %rdx #, ivtmp.338 | |
mulsd %xmm0, %xmm0 # tmp119, tmp119 | |
movsd %xmm0, (%rax) # tmp119, MEM[base: __first$_M_current_53, offset: 0] | |
addq $8, %rax #, __first$_M_current | |
cmpq %rdx, %rcx # ivtmp.338, prologue_after_cost_adjust.312 | |
ja .L19 #, | |
cmpq %rcx, %rsi # prologue_after_cost_adjust.312, prologue_after_cost_adjust.312 | |
je .L33 #, | |
.L18: | |
movq %rsi, %r11 # prologue_after_cost_adjust.312, niters.314 | |
subq %rcx, %r11 # prologue_after_cost_adjust.312, niters.314 | |
movq %r11, %r8 # niters.314, bnd.315 | |
shrq %r8 # bnd.315 | |
movq %r8, %r10 # bnd.315, ratio_mult_vf.316 | |
addq %r10, %r10 # ratio_mult_vf.316 | |
je .L21 #, | |
leaq (%r9,%rcx,8), %rsi #, vect_p.322 | |
xorl %edx, %edx # ivtmp.346 | |
xorl %ecx, %ecx # ivtmp.344 | |
.p2align 4,,10 | |
.p2align 3 | |
.L22: | |
movapd (%rsi,%rdx), %xmm0 # MEM[base: vect_p.322_116, index: ivtmp.346_54, offset: 0], tmp121 | |
addq $1, %rcx #, ivtmp.344 | |
mulpd %xmm0, %xmm0 # tmp121, tmp121 | |
movapd %xmm0, (%rsi,%rdx) # tmp121, MEM[base: vect_p.322_116, index: ivtmp.346_54, offset: 0] | |
addq $16, %rdx #, ivtmp.346 | |
cmpq %r8, %rcx # bnd.315, ivtmp.344 | |
jb .L22 #, | |
cmpq %r10, %r11 # ratio_mult_vf.316, niters.314 | |
leaq (%rax,%r10,8), %rax #, __first$_M_current | |
je .L15 #, | |
.L21: | |
movq %rax, %rdx # ivtmp.332, ivtmp.332 | |
.p2align 4,,10 | |
.p2align 3 | |
.L24: | |
movsd (%rdx), %xmm0 # MEM[base: D.59017_80, offset: 0], tmp123 | |
addq $8, %rdx #, ivtmp.332 | |
mulsd %xmm0, %xmm0 # tmp123, tmp123 | |
movsd %xmm0, (%rax) # tmp123, MEM[base: D.59018_128, offset: 0] | |
addq $8, %rax #, ivtmp.332 | |
cmpq %rdx, %rdi # ivtmp.332, D.57942 | |
jne .L24 #, | |
.L15: | |
rep | |
ret | |
.L33: | |
ret | |
.cfi_endproc | |
.LFE3049: | |
.size _ZN8stateful6squareERSt6vectorIdSaIdEE, .-_ZN8stateful6squareERSt6vectorIdSaIdEE | |
.p2align 4,,15 | |
.globl _ZN8stateful3rmsERSt6vectorIdSaIdEE | |
.type _ZN8stateful3rmsERSt6vectorIdSaIdEE, @function | |
_ZN8stateful3rmsERSt6vectorIdSaIdEE: | |
.LFB3053: | |
.cfi_startproc | |
pushq %rbx # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
movq (%rdi), %r10 # MEM[(double * const &)v_1(D)], __first$_M_current | |
movq 8(%rdi), %rdi # MEM[(double * const &)v_1(D) + 8], end | |
cmpq %rdi, %r10 # end, __first$_M_current | |
je .L51 #, | |
leaq 8(%r10), %rax #, tmp122 | |
movq %rdi, %r8 # end, tmp124 | |
movq %r10, %rsi # __first$_M_current, tmp128 | |
salq $60, %rsi #, tmp128 | |
movq %r10, %rdx # __first$_M_current, dIt | |
subq %rax, %r8 # tmp122, tmp124 | |
shrq $63, %rsi #, tmp128 | |
movq %r10, %rax # __first$_M_current, __first$_M_current | |
shrq $3, %r8 #, tmp124 | |
addq $1, %r8 #, prologue_after_cost_adjust.367 | |
cmpq %r8, %rsi # prologue_after_cost_adjust.367, tmp128 | |
cmova %r8, %rsi # tmp128,, prologue_after_cost_adjust.367, prologue_after_cost_adjust.367 | |
cmpq $2, %r8 #, prologue_after_cost_adjust.367 | |
cmovbe %r8, %rsi # prologue_after_cost_adjust.367,, prologue_after_cost_adjust.367, prologue_after_cost_adjust.367 | |
testq %rsi, %rsi # if( prologue_after_cost_adjust.367 == 0 ) | |
je .L37 # skip the following loop. | |
xorl %ecx, %ecx # count = 0 | |
.L38: # while( count < prologue_after_cost_adjust.367 ) { | |
movsd (%rax), %xmm0 # MEM[base: __first$_M_current_66, offset: 0] -> unSquared | |
addq $1, %rcx # count = 1 | |
mulsd %xmm0, %xmm0 # unSquared *= unSquared | |
movsd %xmm0, (%rax) # unSquared -> MEM[base: __first$_M_current_66, offset: 0] | |
addq $8, %rax # __first$_M_current++ | |
cmpq %rcx, %rsi # (check condition) | |
ja .L38 # } | |
cmpq %rsi, %r8 # prologue_after_cost_adjust.367, prologue_after_cost_adjust.367 | |
je .L39 #, | |
.L37: | |
movq %r8, %rbx # prologue_after_cost_adjust.367, niters.369 | |
subq %rsi, %rbx # prologue_after_cost_adjust.367, niters.369 | |
movq %rbx, %r9 # niters.369, bnd.370 | |
shrq %r9 # bnd.370 | |
movq %r9, %r11 # bnd.370, ratio_mult_vf.371 | |
addq %r11, %r11 # ratio_mult_vf.371 | |
je .L40 #, | |
leaq (%r10,%rsi,8), %r8 #, vect_p.377 | |
xorl %ecx, %ecx # offset = 0 | |
xorl %esi, %esi # count = 0 | |
.p2align 4,,10 | |
.p2align 3 | |
.L41: # while( bnd.370 < count ) { | |
movapd (%r8,%rcx), %xmm0 # MEM[base: vect_p.377_129, index: offset_13, offset: 0], unSquared | |
addq $1, %rsi # count++ | |
mulpd %xmm0, %xmm0 # unSquared *= unSquared | |
movapd %xmm0, (%r8,%rcx) # unSquared -> MEM[base: vect_p.377_129, index: offset_13, offset: 0] | |
addq $16, %rcx # offset++ | |
cmpq %r9, %rsi # (check condition) | |
jb .L41 # } | |
cmpq %r11, %rbx # ratio_mult_vf.371, niters.369 | |
leaq (%rax,%r11,8), %rax #, __first$_M_current | |
je .L39 #, | |
.L40: | |
movq %rax, %rcx # __first$_M_current -> cIt | |
.L43: # while( cIt != end ) { | |
movsd (%rcx), %xmm0 # MEM[base: D.59108_93, offset: 0] -> unSquared | |
addq $8, %rcx # cIt++; | |
mulsd %xmm0, %xmm0 # unSquared *= unSquared | |
movsd %xmm0, (%rax) # unSquared -> MEM[base: D.59109_141, offset: 0] | |
addq $8, %rax # cIt | |
cmpq %rcx, %rdi # (check condition) | |
jne .L43 # } | |
.L39: | |
xorl %eax, %eax # __init = 0 | |
.p2align 4,,10 | |
.p2align 3 | |
.L44: # while( dIt != end ) { | |
cvtsi2sd %eax, %xmm0 # intToFloat(__init) -> adder | |
addsd (%rdx), %xmm0 # adder += MEM[base: D.59121_113, offset: 0] | |
addq $8, %rdx # dIt++ | |
cmpq %rdx, %rdi # (check condition) | |
cvttsd2si %xmm0, %eax # floatToInt(adder) -> __init | |
jne .L44 # } | |
.L35: # | |
cvtsi2sd %eax, %xmm1 # intToFloat(__init) -> tmp155 | |
movq %rdi, %rax # end -> tmp139 | |
subq %r10, %rax # tmp139 -= __first$_M_current | |
sarq $3, %rax # tmp139 >>= 3 | |
testq %rax, %rax # tmp139 | |
js .L45 # | |
cvtsi2sdq %rax, %xmm0 # longIntToDouble(tmp139) -> tmp140 | |
.L46: | |
movapd %xmm1, %xmm2 # tmp155 -> tmp135 | |
divsd %xmm0, %xmm2 # tmp135 /= tmp140 | |
sqrtsd %xmm2, %xmm0 # tmp135 = sqrt( tmp144 ) | |
ucomisd %xmm0, %xmm0 # if( tmp135 > 0 ) | |
jp .L61 # goto L61 (I think) | |
popq %rbx # else return | |
ret | |
.L45: | |
.cfi_restore_state | |
movq %rax, %rdx # tmp139, tmp142 | |
andl $1, %eax #,tmp143 | |
shrq %rdx # tmp142 | |
orq %rax, %rdx # tmp143, tmp142 | |
cvtsi2sdq %rdx, %xmm0 # longIntToDouble(tmp142) -> tmp140 | |
addsd %xmm0, %xmm0 # tmp140, tmp140 | |
jmp .L46 # | |
.L51: | |
xorl %eax, %eax # __init | |
jmp .L35 # | |
.L61: | |
subq %r10, %rdi # __first$_M_current, tmp148 | |
sarq $3, %rdi #, tmp148 | |
testq %rdi, %rdi # tmp148 | |
js .L49 #, | |
cvtsi2sdq %rdi, %xmm0 # longIntToDouble(tmp148) -> tmp149 | |
.L50: | |
divsd %xmm0, %xmm1 # tmp149, tmp155 | |
movapd %xmm1, %xmm0 # tmp155, tmp153 | |
call sqrt # | |
popq %rbx # | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.L49: | |
.cfi_restore_state | |
movq %rdi, %rax # tmp148, tmp151 | |
andl $1, %edi #, tmp152 | |
shrq %rax # tmp151 | |
orq %rdi, %rax # tmp152, tmp151 | |
cvtsi2sdq %rax, %xmm0 # tmp151, tmp149 | |
addsd %xmm0, %xmm0 # tmp149, tmp149 | |
jmp .L50 # | |
.cfi_endproc | |
.LFE3053: | |
.size _ZN8stateful3rmsERSt6vectorIdSaIdEE, .-_ZN8stateful3rmsERSt6vectorIdSaIdEE | |
.p2align 4,,15 | |
.globl _ZN4slow7squaredESt6vectorIdSaIdEE | |
.type _ZN4slow7squaredESt6vectorIdSaIdEE, @function | |
_ZN4slow7squaredESt6vectorIdSaIdEE: | |
.LFB3055: | |
.cfi_startproc | |
movq (%rsi), %r9 # MEM[(double * const &)v_1(D)], __first$_M_current | |
movq 8(%rsi), %r10 # MEM[(double * const &)v_1(D) + 8], D.58278 | |
movq %rdi, %rax # .result_ptr, <retval> | |
pushq %rbx # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
cmpq %r10, %r9 # D.58278, __first$_M_current | |
je .L72 #, | |
leaq 8(%r9), %rdx #, tmp106 | |
movq %r10, %rdi # D.58278, tmp108 | |
movq %r9, %r8 # __first$_M_current, tmp112 | |
salq $60, %r8 #, tmp112 | |
subq %rdx, %rdi # tmp106, tmp108 | |
shrq $63, %r8 #, tmp112 | |
movq %r9, %rdx # __first$_M_current, __first$_M_current | |
shrq $3, %rdi #, tmp108 | |
addq $1, %rdi #, prologue_after_cost_adjust.420 | |
cmpq %rdi, %r8 # prologue_after_cost_adjust.420, tmp112 | |
cmova %rdi, %r8 # tmp112,, prologue_after_cost_adjust.420, prologue_after_cost_adjust.420 | |
cmpq $2, %rdi #, prologue_after_cost_adjust.420 | |
cmovbe %rdi, %r8 # prologue_after_cost_adjust.420,, prologue_after_cost_adjust.420, prologue_after_cost_adjust.420 | |
testq %r8, %r8 # prologue_after_cost_adjust.420 | |
je .L65 #, | |
xorl %ecx, %ecx # ivtmp.446 | |
.p2align 4,,10 | |
.p2align 3 | |
.L66: | |
movsd (%rdx), %xmm0 # MEM[base: __first$_M_current_69, offset: 0], tmp113 | |
addq $1, %rcx #, ivtmp.446 | |
mulsd %xmm0, %xmm0 # tmp113, tmp113 | |
movsd %xmm0, (%rdx) # tmp113, MEM[base: __first$_M_current_69, offset: 0] | |
addq $8, %rdx #, __first$_M_current | |
cmpq %rcx, %r8 # ivtmp.446, prologue_after_cost_adjust.420 | |
ja .L66 #, | |
cmpq %r8, %rdi # prologue_after_cost_adjust.420, prologue_after_cost_adjust.420 | |
je .L72 #, | |
.L65: | |
subq %r8, %rdi # prologue_after_cost_adjust.420, niters.422 | |
movq %rdi, %r11 # niters.422, bnd.423 | |
shrq %r11 # bnd.423 | |
movq %r11, %rbx # bnd.423, ratio_mult_vf.424 | |
addq %rbx, %rbx # ratio_mult_vf.424 | |
je .L68 #, | |
leaq (%r9,%r8,8), %r9 #, vect_p.430 | |
xorl %ecx, %ecx # ivtmp.454 | |
xorl %r8d, %r8d # ivtmp.452 | |
.p2align 4,,10 | |
.p2align 3 | |
.L69: | |
movapd (%r9,%rcx), %xmm0 # MEM[base: vect_p.430_132, index: ivtmp.454_70, offset: 0], tmp115 | |
addq $1, %r8 #, ivtmp.452 | |
mulpd %xmm0, %xmm0 # tmp115, tmp115 | |
movapd %xmm0, (%r9,%rcx) # tmp115, MEM[base: vect_p.430_132, index: ivtmp.454_70, offset: 0] | |
addq $16, %rcx #, ivtmp.454 | |
cmpq %r11, %r8 # bnd.423, ivtmp.452 | |
jb .L69 #, | |
cmpq %rbx, %rdi # ratio_mult_vf.424, niters.422 | |
leaq (%rdx,%rbx,8), %rdx #, __first$_M_current | |
je .L72 #, | |
.L68: | |
movq %rdx, %rcx # ivtmp.440, ivtmp.440 | |
.p2align 4,,10 | |
.p2align 3 | |
.L71: | |
movsd (%rcx), %xmm0 # MEM[base: D.59199_96, offset: 0], tmp117 | |
addq $8, %rcx #, ivtmp.440 | |
mulsd %xmm0, %xmm0 # tmp117, tmp117 | |
movsd %xmm0, (%rdx) # tmp117, MEM[base: D.59200_144, offset: 0] | |
addq $8, %rdx #, ivtmp.440 | |
cmpq %rcx, %r10 # ivtmp.440, D.58278 | |
jne .L71 #, | |
.L72: | |
movq $0, 8(%rax) #, MEM[(struct _Vector_impl *)<retval>_2(D)]._M_finish | |
movq $0, 16(%rax) #, MEM[(struct _Vector_impl *)<retval>_2(D)]._M_end_of_storage | |
movq $0, (%rax) #, MEM[(struct _Vector_impl *)<retval>_2(D)]._M_start | |
movq (%rsi), %rdx # MEM[(double * &)v_1(D)], D.58306 | |
movq %rdx, (%rax) # D.58306, MEM[(double * &)<retval>_2(D)] | |
movq $0, (%rsi) #, MEM[(double * &)v_1(D)] | |
movq 8(%rsi), %rcx # MEM[(double * &)v_1(D) + 8], D.58305 | |
movq 8(%rax), %rdx # MEM[(double * &)<retval>_2(D) + 8], __tmp.61 | |
movq %rcx, 8(%rax) # D.58305, MEM[(double * &)<retval>_2(D) + 8] | |
movq %rdx, 8(%rsi) # __tmp.61, MEM[(double * &)v_1(D) + 8] | |
movq 16(%rsi), %rcx # MEM[(double * &)v_1(D) + 16], D.58302 | |
movq 16(%rax), %rdx # MEM[(double * &)<retval>_2(D) + 16], __tmp.61 | |
movq %rcx, 16(%rax) # D.58302, MEM[(double * &)<retval>_2(D) + 16] | |
movq %rdx, 16(%rsi) # __tmp.61, MEM[(double * &)v_1(D) + 16] | |
popq %rbx # | |
.cfi_def_cfa_offset 8 | |
ret | |
.cfi_endproc | |
.LFE3055: | |
.size _ZN4slow7squaredESt6vectorIdSaIdEE, .-_ZN4slow7squaredESt6vectorIdSaIdEE | |
.p2align 4,,15 | |
.globl _ZN4slow3rmsERKSt6vectorIdSaIdEE | |
.type _ZN4slow3rmsERKSt6vectorIdSaIdEE, @function | |
_ZN4slow3rmsERKSt6vectorIdSaIdEE: | |
.LFB3059: | |
.cfi_startproc | |
pushq %r12 # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 12, -16 | |
movq %rdi, %r12 # v, v | |
pushq %rbp # | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 6, -24 | |
pushq %rbx # | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 3, -32 | |
subq $16, %rsp #, | |
.cfi_def_cfa_offset 48 | |
movq 8(%rdi), %rax # MEM[(const struct vector *)v_1(D) + 8B], tmp156 | |
subq (%rdi), %rax # MEM[(const struct vector *)v_1(D)], tmp156 | |
sarq $3, %rax #, tmp156 | |
testq %rax, %rax # tmp156 | |
je .L104 #, | |
movabsq $2305843009213693951, %rdx #, tmp157 | |
cmpq %rdx, %rax # tmp157, tmp156 | |
ja .L119 #, | |
leaq 0(,%rax,8), %rdi #, tmp158 | |
call _Znwm # | |
movq (%r12), %rsi # MEM[(const struct vector *)v_1(D)], prephitmp.480 | |
movq %rax, %rbx #, __first$_M_current | |
movq %rax, %rbp # __first$_M_current, prephitmp.478 | |
movq 8(%r12), %rax # MEM[(const struct vector *)v_1(D) + 8B], tmp160 | |
subq %rsi, %rax # prephitmp.480, tmp160 | |
sarq $3, %rax #, tmp160 | |
testq %rax, %rax # tmp160 | |
movq %rax, %r12 # tmp160, prephitmp.486 | |
jne .L120 #, | |
.L117: | |
salq $3, %r12 #, prephitmp.486 | |
.L86: | |
leaq (%rbx,%r12), %r9 #, D.59259 | |
cmpq %r9, %rbx # D.59259, __first$_M_current | |
je .L105 #, | |
leaq 8(%rbx), %rax #, tmp161 | |
movq %r9, %rdi # D.59259, tmp163 | |
movq %rbx, %rcx # __first$_M_current, ivtmp.530 | |
movq %rbx, %rdx # __first$_M_current, __first$_M_current | |
subq %rax, %rdi # tmp161, tmp163 | |
movq %rbx, %rax # __first$_M_current, tmp167 | |
shrq $3, %rdi #, tmp163 | |
salq $60, %rax #, tmp167 | |
addq $1, %rdi #, prologue_after_cost_adjust.497 | |
shrq $63, %rax #, tmp167 | |
cmpq %rax, %rdi # tmp167, prologue_after_cost_adjust.497 | |
cmovbe %rdi, %rax # prologue_after_cost_adjust.497,, prologue_after_cost_adjust.497 | |
cmpq $2, %rdi #, prologue_after_cost_adjust.497 | |
cmovbe %rdi, %rax # prologue_after_cost_adjust.497,, prologue_after_cost_adjust.497, prologue_after_cost_adjust.497 | |
testq %rax, %rax # prologue_after_cost_adjust.497 | |
je .L89 #, | |
xorl %esi, %esi # ivtmp.523 | |
.p2align 4,,10 | |
.p2align 3 | |
.L90: | |
movsd (%rdx), %xmm0 # MEM[base: __first$_M_current_120, offset: 0], tmp168 | |
addq $1, %rsi #, ivtmp.523 | |
mulsd %xmm0, %xmm0 # tmp168, tmp168 | |
movsd %xmm0, (%rdx) # tmp168, MEM[base: __first$_M_current_120, offset: 0] | |
addq $8, %rdx #, __first$_M_current | |
cmpq %rsi, %rax # ivtmp.523, prologue_after_cost_adjust.497 | |
ja .L90 #, | |
cmpq %rax, %rdi # prologue_after_cost_adjust.497, prologue_after_cost_adjust.497 | |
je .L91 #, | |
.L89: | |
movq %rdi, %r11 # prologue_after_cost_adjust.497, niters.499 | |
subq %rax, %r11 # prologue_after_cost_adjust.497, niters.499 | |
movq %r11, %rdi # niters.499, bnd.500 | |
shrq %rdi # bnd.500 | |
movq %rdi, %r10 # bnd.500, ratio_mult_vf.501 | |
addq %r10, %r10 # ratio_mult_vf.501 | |
je .L92 #, | |
leaq (%rbx,%rax,8), %rax #, vect_p.507 | |
xorl %esi, %esi # ivtmp.536 | |
xorl %r8d, %r8d # ivtmp.534 | |
.p2align 4,,10 | |
.p2align 3 | |
.L93: | |
movapd (%rax,%rsi), %xmm0 # MEM[base: vect_p.507_183, index: ivtmp.536_17, offset: 0], tmp170 | |
addq $1, %r8 #, ivtmp.534 | |
mulpd %xmm0, %xmm0 # tmp170, tmp170 | |
movapd %xmm0, (%rax,%rsi) # tmp170, MEM[base: vect_p.507_183, index: ivtmp.536_17, offset: 0] | |
addq $16, %rsi #, ivtmp.536 | |
cmpq %rdi, %r8 # bnd.500, ivtmp.534 | |
jb .L93 #, | |
cmpq %r10, %r11 # ratio_mult_vf.501, niters.499 | |
leaq (%rdx,%r10,8), %rdx #, __first$_M_current | |
je .L91 #, | |
.L92: | |
movq %rdx, %rsi # ivtmp.517, ivtmp.517 | |
.p2align 4,,10 | |
.p2align 3 | |
.L95: | |
movsd (%rsi), %xmm0 # MEM[base: D.59401_147, offset: 0], tmp172 | |
addq $8, %rsi #, ivtmp.517 | |
mulsd %xmm0, %xmm0 # tmp172, tmp172 | |
movsd %xmm0, (%rdx) # tmp172, MEM[base: D.59402_195, offset: 0] | |
addq $8, %rdx #, ivtmp.517 | |
cmpq %rsi, %r9 # ivtmp.517, D.59259 | |
jne .L95 #, | |
.L91: | |
xorl %edx, %edx # __init | |
.p2align 4,,10 | |
.p2align 3 | |
.L96: | |
cvtsi2sd %edx, %xmm0 # __init, D.58874 | |
addsd (%rcx), %xmm0 # MEM[base: D.59414_167, offset: 0], D.58874 | |
addq $8, %rcx #, ivtmp.530 | |
cmpq %rcx, %r9 # ivtmp.530, D.59259 | |
cvttsd2si %xmm0, %edx # D.58874, __init | |
jne .L96 #, | |
.L87: | |
movq %r9, %rax # D.59259, tmp178 | |
cvtsi2sd %edx, %xmm1 # __init, tmp194 | |
subq %rbp, %rax # prephitmp.478, tmp178 | |
sarq $3, %rax #, tmp178 | |
testq %rax, %rax # tmp178 | |
js .L97 #, | |
cvtsi2sdq %rax, %xmm0 # tmp178, tmp179 | |
.L98: | |
movapd %xmm1, %xmm2 # tmp194, | |
divsd %xmm0, %xmm2 # tmp179, | |
sqrtsd %xmm2, %xmm0 # tmp183, tmp174 | |
ucomisd %xmm0, %xmm0 # tmp174, tmp174 | |
jp .L121 #, | |
.L99: | |
testq %rbx, %rbx # __first$_M_current | |
je .L103 #, | |
movq %rbx, %rdi # __first$_M_current, | |
movsd %xmm0, (%rsp) #, | |
call _ZdlPv # | |
movsd (%rsp), %xmm0 #, | |
.L103: | |
addq $16, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 32 | |
popq %rbx # | |
.cfi_def_cfa_offset 24 | |
popq %rbp # | |
.cfi_def_cfa_offset 16 | |
popq %r12 # | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L120: | |
.cfi_restore_state | |
leaq 0(,%rax,8), %r12 #, prephitmp.486 | |
movq %rbx, %rdi # __first$_M_current, | |
movq %r12, %rdx # prephitmp.486, | |
call memmove # | |
jmp .L86 # | |
.p2align 4,,10 | |
.p2align 3 | |
.L104: | |
xorl %r12d, %r12d # prephitmp.486 | |
xorl %ebp, %ebp # prephitmp.478 | |
xorl %ebx, %ebx # __first$_M_current | |
jmp .L117 # | |
.p2align 4,,10 | |
.p2align 3 | |
.L97: | |
movq %rax, %rdx # tmp178, tmp181 | |
andl $1, %eax #, tmp182 | |
shrq %rdx # tmp181 | |
orq %rax, %rdx # tmp182, tmp181 | |
cvtsi2sdq %rdx, %xmm0 # tmp181, tmp179 | |
addsd %xmm0, %xmm0 # tmp179, tmp179 | |
jmp .L98 # | |
.L105: | |
xorl %edx, %edx # __init | |
jmp .L87 # | |
.L121: | |
subq %rbp, %r9 # prephitmp.478, tmp187 | |
sarq $3, %r9 #, tmp187 | |
testq %r9, %r9 # tmp187 | |
js .L101 #, | |
cvtsi2sdq %r9, %xmm0 # tmp187, tmp188 | |
.L102: | |
divsd %xmm0, %xmm1 # tmp188, tmp194 | |
movapd %xmm1, %xmm0 # tmp194, tmp192 | |
call sqrt # | |
jmp .L99 # | |
.L119: | |
call _ZSt17__throw_bad_allocv # | |
.L101: | |
movq %r9, %rax # tmp187, tmp190 | |
andl $1, %r9d #, tmp191 | |
shrq %rax # tmp190 | |
orq %r9, %rax # tmp191, tmp190 | |
cvtsi2sdq %rax, %xmm0 # tmp190, tmp188 | |
addsd %xmm0, %xmm0 # tmp188, tmp188 | |
jmp .L102 # | |
.cfi_endproc | |
.LFE3059: | |
.size _ZN4slow3rmsERKSt6vectorIdSaIdEE, .-_ZN4slow3rmsERKSt6vectorIdSaIdEE | |
.p2align 4,,15 | |
.globl _ZN4fast7squaredEOSt6vectorIdSaIdEE | |
.type _ZN4fast7squaredEOSt6vectorIdSaIdEE, @function | |
_ZN4fast7squaredEOSt6vectorIdSaIdEE: | |
.LFB3061: | |
.cfi_startproc | |
pushq %r13 # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 13, -16 | |
pushq %r12 # | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 12, -24 | |
pushq %rbp # | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 6, -32 | |
movq %rsi, %rbp # v, v | |
pushq %rbx # | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 3, -40 | |
movq %rdi, %rbx # .result_ptr, <retval> | |
subq $8, %rsp #, | |
.cfi_def_cfa_offset 48 | |
movq (%rsi), %rax # MEM[(double * const &)v_1(D)], __first$_M_current | |
movq 8(%rsi), %r10 # MEM[(double * const &)v_1(D) + 8], D.58774 | |
cmpq %r10, %rax # D.58774, __first$_M_current | |
je .L134 #, | |
leaq 8(%rax), %rdx #, tmp119 | |
movq %r10, %rsi # D.58774, tmp121 | |
movq %rax, %r8 # __first$_M_current, tmp125 | |
salq $60, %r8 #, tmp125 | |
subq %rdx, %rsi # tmp119, tmp121 | |
shrq $63, %r8 #, tmp125 | |
movq %rax, %rdx # __first$_M_current, __first$_M_current | |
shrq $3, %rsi #, tmp121 | |
addq $1, %rsi #, prologue_after_cost_adjust.552 | |
cmpq %rsi, %r8 # prologue_after_cost_adjust.552, tmp125 | |
cmova %rsi, %r8 # tmp125,, prologue_after_cost_adjust.552, prologue_after_cost_adjust.552 | |
cmpq $2, %rsi #, prologue_after_cost_adjust.552 | |
cmovbe %rsi, %r8 # prologue_after_cost_adjust.552,, prologue_after_cost_adjust.552, prologue_after_cost_adjust.552 | |
testq %r8, %r8 # prologue_after_cost_adjust.552 | |
je .L127 #, | |
xorl %ecx, %ecx # ivtmp.578 | |
.p2align 4,,10 | |
.p2align 3 | |
.L128: | |
movsd (%rdx), %xmm0 # MEM[base: __first$_M_current_89, offset: 0], tmp126 | |
addq $1, %rcx #, ivtmp.578 | |
mulsd %xmm0, %xmm0 # tmp126, tmp126 | |
movsd %xmm0, (%rdx) # tmp126, MEM[base: __first$_M_current_89, offset: 0] | |
addq $8, %rdx #, __first$_M_current | |
cmpq %rcx, %r8 # ivtmp.578, prologue_after_cost_adjust.552 | |
ja .L128 #, | |
cmpq %r8, %rsi # prologue_after_cost_adjust.552, prologue_after_cost_adjust.552 | |
je .L134 #, | |
.L127: | |
subq %r8, %rsi # prologue_after_cost_adjust.552, niters.554 | |
movq %rsi, %r11 # niters.554, bnd.555 | |
shrq %r11 # bnd.555 | |
movq %r11, %rdi # bnd.555, ratio_mult_vf.556 | |
addq %rdi, %rdi # ratio_mult_vf.556 | |
je .L130 #, | |
leaq (%rax,%r8,8), %r9 #, vect_p.562 | |
xorl %ecx, %ecx # ivtmp.586 | |
xorl %r8d, %r8d # ivtmp.584 | |
.p2align 4,,10 | |
.p2align 3 | |
.L131: | |
movapd (%r9,%rcx), %xmm0 # MEM[base: vect_p.562_152, index: ivtmp.586_90, offset: 0], tmp128 | |
addq $1, %r8 #, ivtmp.584 | |
mulpd %xmm0, %xmm0 # tmp128, tmp128 | |
movapd %xmm0, (%r9,%rcx) # tmp128, MEM[base: vect_p.562_152, index: ivtmp.586_90, offset: 0] | |
addq $16, %rcx #, ivtmp.586 | |
cmpq %r11, %r8 # bnd.555, ivtmp.584 | |
jb .L131 #, | |
cmpq %rdi, %rsi # ratio_mult_vf.556, niters.554 | |
leaq (%rdx,%rdi,8), %rdx #, __first$_M_current | |
je .L134 #, | |
.L130: | |
movq %rdx, %rcx # ivtmp.572, ivtmp.572 | |
.p2align 4,,10 | |
.p2align 3 | |
.L133: | |
movsd (%rcx), %xmm0 # MEM[base: D.59554_116, offset: 0], tmp130 | |
addq $8, %rcx #, ivtmp.572 | |
mulsd %xmm0, %xmm0 # tmp130, tmp130 | |
movsd %xmm0, (%rdx) # tmp130, MEM[base: D.59555_164, offset: 0] | |
addq $8, %rdx #, ivtmp.572 | |
cmpq %rcx, %r10 # ivtmp.572, D.58774 | |
jne .L133 #, | |
.L134: | |
subq %rax, %r10 # __first$_M_current, tmp118 | |
xorl %r13d, %r13d # prephitmp.545 | |
xorl %r12d, %r12d # D.59466 | |
sarq $3, %r10 #, tmp118 | |
movq $0, (%rbx) #, MEM[(struct _Vector_impl *)<retval>_2(D)]._M_start | |
movq $0, 8(%rbx) #, MEM[(struct _Vector_impl *)<retval>_2(D)]._M_finish | |
testq %r10, %r10 # tmp118 | |
movq $0, 16(%rbx) #, MEM[(struct _Vector_impl *)<retval>_2(D)]._M_end_of_storage | |
je .L125 #, | |
movabsq $2305843009213693951, %rax #, tmp131 | |
cmpq %rax, %r10 # tmp131, tmp118 | |
ja .L147 #, | |
leaq 0(,%r10,8), %r13 #, prephitmp.545 | |
movq %r13, %rdi # prephitmp.545, | |
call _Znwm # | |
movq %rax, %r12 #, D.59466 | |
.L125: | |
addq %r12, %r13 # D.59466, tmp132 | |
movq %r12, (%rbx) # D.59466, MEM[(struct _Vector_base *)<retval>_2(D)]._M_impl._M_start | |
movq %r12, 8(%rbx) # D.59466, MEM[(struct _Vector_base *)<retval>_2(D)]._M_impl._M_finish | |
movq %r13, 16(%rbx) # tmp132, MEM[(struct _Vector_base *)<retval>_2(D)]._M_impl._M_end_of_storage | |
movq 0(%rbp), %rsi # MEM[(const struct vector *)v_1(D)], D.59443 | |
movq 8(%rbp), %rcx # MEM[(const struct vector *)v_1(D) + 8B], tmp135 | |
xorl %ebp, %ebp # prephitmp.545 | |
subq %rsi, %rcx # D.59443, tmp135 | |
sarq $3, %rcx #, tmp135 | |
testq %rcx, %rcx # tmp135 | |
je .L136 #, | |
leaq 0(,%rcx,8), %rbp #, prephitmp.545 | |
movq %r12, %rdi # D.59466, | |
movq %rbp, %rdx # prephitmp.545, | |
call memmove # | |
.L136: | |
addq %rbp, %r12 # prephitmp.545, tmp136 | |
movq %rbx, %rax # <retval>, | |
movq %r12, 8(%rbx) # tmp136, <retval>_2(D)->D.33227._M_impl._M_finish | |
addq $8, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
popq %rbx # | |
.cfi_def_cfa_offset 32 | |
popq %rbp # | |
.cfi_def_cfa_offset 24 | |
popq %r12 # | |
.cfi_def_cfa_offset 16 | |
popq %r13 # | |
.cfi_def_cfa_offset 8 | |
ret | |
.L147: | |
.cfi_restore_state | |
call _ZSt17__throw_bad_allocv # | |
.cfi_endproc | |
.LFE3061: | |
.size _ZN4fast7squaredEOSt6vectorIdSaIdEE, .-_ZN4fast7squaredEOSt6vectorIdSaIdEE | |
.p2align 4,,15 | |
.globl _ZN4fast3rmsEOSt6vectorIdSaIdEE | |
.type _ZN4fast3rmsEOSt6vectorIdSaIdEE, @function | |
_ZN4fast3rmsEOSt6vectorIdSaIdEE: | |
.LFB3065: | |
.cfi_startproc | |
pushq %r12 # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 12, -16 | |
pushq %rbp # | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 6, -24 | |
movq %rdi, %rbp # v, v | |
pushq %rbx # | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 3, -32 | |
subq $16, %rsp #, | |
.cfi_def_cfa_offset 48 | |
movq (%rdi), %rsi # MEM[(double * const &)v_1(D)], __first$_M_current | |
movq 8(%rdi), %r9 # MEM[(double * const &)v_1(D) + 8], D.59575 | |
cmpq %r9, %rsi # D.59575, __first$_M_current | |
je .L160 #, | |
leaq 8(%rsi), %rax #, tmp158 | |
movq %r9, %rdi # D.59575, tmp160 | |
movq %rsi, %rcx # __first$_M_current, tmp164 | |
salq $60, %rcx #, tmp164 | |
subq %rax, %rdi # tmp158, tmp160 | |
shrq $63, %rcx #, tmp164 | |
movq %rsi, %rax # __first$_M_current, __first$_M_current | |
shrq $3, %rdi #, tmp160 | |
addq $1, %rdi #, prologue_after_cost_adjust.630 | |
cmpq %rdi, %rcx # prologue_after_cost_adjust.630, tmp164 | |
cmova %rdi, %rcx # tmp164,, prologue_after_cost_adjust.630, prologue_after_cost_adjust.630 | |
cmpq $2, %rdi #, prologue_after_cost_adjust.630 | |
cmovbe %rdi, %rcx # prologue_after_cost_adjust.630,, prologue_after_cost_adjust.630, prologue_after_cost_adjust.630 | |
testq %rcx, %rcx # prologue_after_cost_adjust.630 | |
je .L153 #, | |
xorl %edx, %edx # ivtmp.656 | |
.p2align 4,,10 | |
.p2align 3 | |
.L154: | |
movsd (%rax), %xmm0 # MEM[base: __first$_M_current_90, offset: 0], tmp165 | |
addq $1, %rdx #, ivtmp.656 | |
mulsd %xmm0, %xmm0 # tmp165, tmp165 | |
movsd %xmm0, (%rax) # tmp165, MEM[base: __first$_M_current_90, offset: 0] | |
addq $8, %rax #, __first$_M_current | |
cmpq %rdx, %rcx # ivtmp.656, prologue_after_cost_adjust.630 | |
ja .L154 #, | |
cmpq %rcx, %rdi # prologue_after_cost_adjust.630, prologue_after_cost_adjust.630 | |
je .L160 #, | |
.L153: | |
subq %rcx, %rdi # prologue_after_cost_adjust.630, niters.632 | |
movq %rdi, %r10 # niters.632, bnd.633 | |
shrq %r10 # bnd.633 | |
movq %r10, %r11 # bnd.633, ratio_mult_vf.634 | |
addq %r11, %r11 # ratio_mult_vf.634 | |
je .L156 #, | |
leaq (%rsi,%rcx,8), %r8 #, vect_p.640 | |
xorl %edx, %edx # ivtmp.669 | |
xorl %ecx, %ecx # ivtmp.667 | |
.p2align 4,,10 | |
.p2align 3 | |
.L157: | |
movapd (%r8,%rdx), %xmm0 # MEM[base: vect_p.640_177, index: ivtmp.669_34, offset: 0], tmp167 | |
addq $1, %rcx #, ivtmp.667 | |
mulpd %xmm0, %xmm0 # tmp167, tmp167 | |
movapd %xmm0, (%r8,%rdx) # tmp167, MEM[base: vect_p.640_177, index: ivtmp.669_34, offset: 0] | |
addq $16, %rdx #, ivtmp.669 | |
cmpq %r10, %rcx # bnd.633, ivtmp.667 | |
jb .L157 #, | |
cmpq %r11, %rdi # ratio_mult_vf.634, niters.632 | |
leaq (%rax,%r11,8), %rax #, __first$_M_current | |
je .L160 #, | |
.L156: | |
movq %rax, %rdx # ivtmp.650, ivtmp.650 | |
.p2align 4,,10 | |
.p2align 3 | |
.L159: | |
movsd (%rdx), %xmm0 # MEM[base: D.59747_141, offset: 0], tmp169 | |
addq $8, %rdx #, ivtmp.650 | |
mulsd %xmm0, %xmm0 # tmp169, tmp169 | |
movsd %xmm0, (%rax) # tmp169, MEM[base: D.59748_189, offset: 0] | |
addq $8, %rax #, ivtmp.650 | |
cmpq %rdx, %r9 # ivtmp.650, D.59575 | |
jne .L159 #, | |
.L160: | |
subq %rsi, %r9 # __first$_M_current, tmp157 | |
sarq $3, %r9 #, tmp157 | |
testq %r9, %r9 # tmp157 | |
je .L187 #, | |
movabsq $2305843009213693951, %rax #, tmp170 | |
cmpq %rax, %r9 # tmp170, tmp157 | |
ja .L188 #, | |
leaq 0(,%r9,8), %rdi #, tmp171 | |
call _Znwm # | |
movq 0(%rbp), %rsi # MEM[(const struct vector *)v_1(D)], __first$_M_current | |
movq %rax, %rbx #, __first$_M_current | |
movq %rax, %r12 # __first$_M_current, prephitmp.610 | |
movq 8(%rbp), %rax # MEM[(const struct vector *)v_1(D) + 8B], tmp173 | |
subq %rsi, %rax # __first$_M_current, tmp173 | |
sarq $3, %rax #, tmp173 | |
testq %rax, %rax # tmp173 | |
movq %rax, %rbp # tmp173, prephitmp.618 | |
jne .L162 #, | |
.L185: | |
salq $3, %rbp #, prephitmp.618 | |
.L163: | |
leaq (%rbx,%rbp), %rsi #, D.59624 | |
cmpq %rsi, %rbx # D.59624, __first$_M_current | |
je .L174 #, | |
movq %rbx, %rdx # __first$_M_current, ivtmp.665 | |
xorl %ecx, %ecx # __init | |
.p2align 4,,10 | |
.p2align 3 | |
.L165: | |
cvtsi2sd %ecx, %xmm0 # __init, D.58823 | |
addsd (%rdx), %xmm0 # MEM[base: D.59760_161, offset: 0], D.58823 | |
addq $8, %rdx #, ivtmp.665 | |
cmpq %rdx, %rsi # ivtmp.665, D.59624 | |
cvttsd2si %xmm0, %ecx # D.58823, __init | |
jne .L165 #, | |
.L164: | |
movq %rsi, %rax # D.59624, tmp179 | |
cvtsi2sd %ecx, %xmm1 # __init, tmp195 | |
subq %r12, %rax # prephitmp.610, tmp179 | |
sarq $3, %rax #, tmp179 | |
testq %rax, %rax # tmp179 | |
js .L166 #, | |
cvtsi2sdq %rax, %xmm0 # tmp179, tmp180 | |
.L167: | |
movapd %xmm1, %xmm2 # tmp195, | |
divsd %xmm0, %xmm2 # tmp180, | |
sqrtsd %xmm2, %xmm0 # tmp184, tmp175 | |
ucomisd %xmm0, %xmm0 # tmp175, tmp175 | |
jp .L189 #, | |
.L168: | |
testq %rbx, %rbx # __first$_M_current | |
je .L172 #, | |
movq %rbx, %rdi # __first$_M_current, | |
movsd %xmm0, (%rsp) #, | |
call _ZdlPv # | |
movsd (%rsp), %xmm0 #, | |
.L172: | |
addq $16, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 32 | |
popq %rbx # | |
.cfi_def_cfa_offset 24 | |
popq %rbp # | |
.cfi_def_cfa_offset 16 | |
popq %r12 # | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L162: | |
.cfi_restore_state | |
leaq 0(,%rax,8), %rbp #, prephitmp.618 | |
movq %rbx, %rdi # __first$_M_current, | |
movq %rbp, %rdx # prephitmp.618, | |
call memmove # | |
jmp .L163 # | |
.p2align 4,,10 | |
.p2align 3 | |
.L187: | |
xorl %ebp, %ebp # prephitmp.618 | |
xorl %r12d, %r12d # prephitmp.610 | |
xorl %ebx, %ebx # __first$_M_current | |
jmp .L185 # | |
.p2align 4,,10 | |
.p2align 3 | |
.L166: | |
movq %rax, %rdx # tmp179, tmp182 | |
andl $1, %eax #, tmp183 | |
shrq %rdx # tmp182 | |
orq %rax, %rdx # tmp183, tmp182 | |
cvtsi2sdq %rdx, %xmm0 # tmp182, tmp180 | |
addsd %xmm0, %xmm0 # tmp180, tmp180 | |
jmp .L167 # | |
.L174: | |
xorl %ecx, %ecx # __init | |
jmp .L164 # | |
.L189: | |
subq %r12, %rsi # prephitmp.610, tmp188 | |
sarq $3, %rsi #, tmp188 | |
testq %rsi, %rsi # tmp188 | |
js .L170 #, | |
cvtsi2sdq %rsi, %xmm0 # tmp188, tmp189 | |
.L171: | |
divsd %xmm0, %xmm1 # tmp189, tmp195 | |
movapd %xmm1, %xmm0 # tmp195, tmp193 | |
call sqrt # | |
jmp .L168 # | |
.L188: | |
call _ZSt17__throw_bad_allocv # | |
.L170: | |
movq %rsi, %rax # tmp188, tmp191 | |
andl $1, %esi #, tmp192 | |
shrq %rax # tmp191 | |
orq %rsi, %rax # tmp192, tmp191 | |
cvtsi2sdq %rax, %xmm0 # tmp191, tmp189 | |
addsd %xmm0, %xmm0 # tmp189, tmp189 | |
jmp .L171 # | |
.cfi_endproc | |
.LFE3065: | |
.size _ZN4fast3rmsEOSt6vectorIdSaIdEE, .-_ZN4fast3rmsEOSt6vectorIdSaIdEE | |
.section .text._ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_,"axG",@progbits,_ZNSt6vectorIdSaIdEEC5ESt16initializer_listIdERKS0_,comdat | |
.align 2 | |
.p2align 4,,15 | |
.weak _ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_ | |
.type _ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_, @function | |
_ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_: | |
.LFB3149: | |
.cfi_startproc | |
.cfi_personality 0x3,__gxx_personality_v0 | |
.cfi_lsda 0x3,.LLSDA3149 | |
movq %rbp, -32(%rsp) #, | |
.cfi_offset 6, -40 | |
leaq 0(,%rdx,8), %rbp #, tmp81 | |
movq %rbx, -40(%rsp) #, | |
movq %r14, -8(%rsp) #, | |
movq %r12, -24(%rsp) #, | |
.cfi_offset 3, -48 | |
.cfi_offset 14, -16 | |
.cfi_offset 12, -32 | |
movq %rdi, %rbx # this, this | |
sarq $3, %rbp #, tmp81 | |
movq %r13, -16(%rsp) #, | |
subq $56, %rsp #, | |
.cfi_def_cfa_offset 64 | |
.cfi_offset 13, -24 | |
testq %rbp, %rbp # tmp81 | |
movq %rsi, %r14 # __l, __l | |
movq $0, (%rdi) #, MEM[(struct _Vector_impl *)this_1(D)]._M_start | |
movq $0, 8(%rdi) #, MEM[(struct _Vector_impl *)this_1(D)]._M_finish | |
movq $0, 16(%rdi) #, MEM[(struct _Vector_impl *)this_1(D)]._M_end_of_storage | |
je .L196 #, | |
movabsq $2305843009213693951, %rax #, tmp82 | |
cmpq %rax, %rbp # tmp82, tmp81 | |
ja .L206 #, | |
leaq 0(,%rbp,8), %r12 #, prephitmp.677 | |
movq %r12, %rdi # prephitmp.677, | |
.LEHB0: | |
call _Znwm # | |
.L191: | |
leaq (%rax,%r12), %r13 #, D.59781 | |
testq %rbp, %rbp # tmp81 | |
movq %rax, (%rbx) # D.59792, this_1(D)->D.33227._M_impl._M_start | |
movq %r13, 16(%rbx) # D.59781, this_1(D)->D.33227._M_impl._M_end_of_storage | |
je .L193 #, | |
movq %r12, %rdx # prephitmp.677, | |
movq %r14, %rsi # __l, | |
movq %rax, %rdi # D.59792, | |
call memmove # | |
.L193: | |
movq %r13, 8(%rbx) # D.59781, this_1(D)->D.33227._M_impl._M_finish | |
movq 24(%rsp), %rbp #, | |
movq 16(%rsp), %rbx #, | |
movq 32(%rsp), %r12 #, | |
movq 40(%rsp), %r13 #, | |
movq 48(%rsp), %r14 #, | |
addq $56, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L196: | |
.cfi_restore_state | |
xorl %r12d, %r12d # prephitmp.677 | |
xorl %eax, %eax # D.59792 | |
jmp .L191 # | |
.L206: | |
call _ZSt17__throw_bad_allocv # | |
.LEHE0: | |
.L197: | |
movq (%rbx), %rdi # MEM[(struct _Vector_base *)this_1(D)]._M_impl._M_start, D.59818 | |
movq %rax, %rbp #, tmp83 | |
testq %rdi, %rdi # D.59818 | |
je .L195 #, | |
call _ZdlPv # | |
.L195: | |
movq %rbp, %rdi # tmp83, | |
.LEHB1: | |
call _Unwind_Resume # | |
.LEHE1: | |
.cfi_endproc | |
.LFE3149: | |
.globl __gxx_personality_v0 | |
.section .gcc_except_table,"a",@progbits | |
.LLSDA3149: | |
.byte 0xff | |
.byte 0xff | |
.byte 0x1 | |
.uleb128 .LLSDACSE3149-.LLSDACSB3149 | |
.LLSDACSB3149: | |
.uleb128 .LEHB0-.LFB3149 | |
.uleb128 .LEHE0-.LEHB0 | |
.uleb128 .L197-.LFB3149 | |
.uleb128 0 | |
.uleb128 .LEHB1-.LFB3149 | |
.uleb128 .LEHE1-.LEHB1 | |
.uleb128 0 | |
.uleb128 0 | |
.LLSDACSE3149: | |
.section .text._ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_,"axG",@progbits,_ZNSt6vectorIdSaIdEEC5ESt16initializer_listIdERKS0_,comdat | |
.size _ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_, .-_ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_ | |
.weak _ZNSt6vectorIdSaIdEEC1ESt16initializer_listIdERKS0_ | |
.set _ZNSt6vectorIdSaIdEEC1ESt16initializer_listIdERKS0_,_ZNSt6vectorIdSaIdEEC2ESt16initializer_listIdERKS0_ | |
.section .text._ZNSt6vectorIdSaIdEED2Ev,"axG",@progbits,_ZNSt6vectorIdSaIdEED5Ev,comdat | |
.align 2 | |
.p2align 4,,15 | |
.weak _ZNSt6vectorIdSaIdEED2Ev | |
.type _ZNSt6vectorIdSaIdEED2Ev, @function | |
_ZNSt6vectorIdSaIdEED2Ev: | |
.LFB3152: | |
.cfi_startproc | |
movq (%rdi), %rdi # MEM[(struct _Vector_base *)this_1(D)]._M_impl._M_start, D.59838 | |
testq %rdi, %rdi # D.59838 | |
je .L207 #, | |
jmp _ZdlPv # | |
.p2align 4,,10 | |
.p2align 3 | |
.L207: | |
rep | |
ret | |
.cfi_endproc | |
.LFE3152: | |
.size _ZNSt6vectorIdSaIdEED2Ev, .-_ZNSt6vectorIdSaIdEED2Ev | |
.weak _ZNSt6vectorIdSaIdEED1Ev | |
.set _ZNSt6vectorIdSaIdEED1Ev,_ZNSt6vectorIdSaIdEED2Ev | |
.section .text.startup,"ax",@progbits | |
.p2align 4,,15 | |
.globl _ZN8stateful4mainEv | |
.type _ZN8stateful4mainEv, @function | |
_ZN8stateful4mainEv: | |
.LFB3054: | |
.cfi_startproc | |
.cfi_personality 0x3,__gxx_personality_v0 | |
.cfi_lsda 0x3,.LLSDA3054 | |
pushq %rbx # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
movl $._91, %esi #, | |
movl $3, %edx #, | |
subq $64, %rsp #, | |
.cfi_def_cfa_offset 80 | |
leaq 15(%rsp), %rcx #, | |
leaq 32(%rsp), %rdi #, | |
.LEHB2: | |
call _ZNSt6vectorIdSaIdEEC1ESt16initializer_listIdERKS0_ # | |
.LEHE2: | |
leaq 32(%rsp), %rdi #, | |
call _ZN8stateful3rmsERSt6vectorIdSaIdEE # | |
movl $_ZSt4cout, %edi #, | |
.LEHB3: | |
call _ZNSo9_M_insertIdEERSoT_ # | |
movq %rax, %rdi # D.58541, | |
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ # | |
.LEHE3: | |
leaq 32(%rsp), %rdi #, | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
addq $64, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 16 | |
xorl %eax, %eax # | |
popq %rbx # | |
.cfi_def_cfa_offset 8 | |
ret | |
.L211: | |
.cfi_restore_state | |
leaq 32(%rsp), %rdi #, | |
movq %rax, %rbx #, tmp71 | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
movq %rbx, %rdi # tmp71, | |
.LEHB4: | |
call _Unwind_Resume # | |
.LEHE4: | |
.cfi_endproc | |
.LFE3054: | |
.section .gcc_except_table | |
.LLSDA3054: | |
.byte 0xff | |
.byte 0xff | |
.byte 0x1 | |
.uleb128 .LLSDACSE3054-.LLSDACSB3054 | |
.LLSDACSB3054: | |
.uleb128 .LEHB2-.LFB3054 | |
.uleb128 .LEHE2-.LEHB2 | |
.uleb128 0 | |
.uleb128 0 | |
.uleb128 .LEHB3-.LFB3054 | |
.uleb128 .LEHE3-.LEHB3 | |
.uleb128 .L211-.LFB3054 | |
.uleb128 0 | |
.uleb128 .LEHB4-.LFB3054 | |
.uleb128 .LEHE4-.LEHB4 | |
.uleb128 0 | |
.uleb128 0 | |
.LLSDACSE3054: | |
.section .text.startup | |
.size _ZN8stateful4mainEv, .-_ZN8stateful4mainEv | |
.p2align 4,,15 | |
.globl _ZN4fast4mainEv | |
.type _ZN4fast4mainEv, @function | |
_ZN4fast4mainEv: | |
.LFB3067: | |
.cfi_startproc | |
.cfi_personality 0x3,__gxx_personality_v0 | |
.cfi_lsda 0x3,.LLSDA3067 | |
pushq %rbx # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
movl $._93, %esi #, | |
movl $3, %edx #, | |
subq $64, %rsp #, | |
.cfi_def_cfa_offset 80 | |
leaq 32(%rsp), %rdi #, | |
leaq 15(%rsp), %rcx #, | |
.LEHB5: | |
call _ZNSt6vectorIdSaIdEEC1ESt16initializer_listIdERKS0_ # | |
.LEHE5: | |
leaq 32(%rsp), %rdi #, | |
.LEHB6: | |
call _ZN4fast3rmsEOSt6vectorIdSaIdEE # | |
movl $_ZSt4cout, %edi #, | |
call _ZNSo9_M_insertIdEERSoT_ # | |
movq %rax, %rdi # D.58834, | |
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ # | |
.LEHE6: | |
leaq 32(%rsp), %rdi #, | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
addq $64, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 16 | |
xorl %eax, %eax # | |
popq %rbx # | |
.cfi_def_cfa_offset 8 | |
ret | |
.L217: | |
.cfi_restore_state | |
leaq 32(%rsp), %rdi #, | |
movq %rax, %rbx #, tmp71 | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
movq %rbx, %rdi # tmp71, | |
.LEHB7: | |
call _Unwind_Resume # | |
.LEHE7: | |
.cfi_endproc | |
.LFE3067: | |
.section .gcc_except_table | |
.LLSDA3067: | |
.byte 0xff | |
.byte 0xff | |
.byte 0x1 | |
.uleb128 .LLSDACSE3067-.LLSDACSB3067 | |
.LLSDACSB3067: | |
.uleb128 .LEHB5-.LFB3067 | |
.uleb128 .LEHE5-.LEHB5 | |
.uleb128 0 | |
.uleb128 0 | |
.uleb128 .LEHB6-.LFB3067 | |
.uleb128 .LEHE6-.LEHB6 | |
.uleb128 .L217-.LFB3067 | |
.uleb128 0 | |
.uleb128 .LEHB7-.LFB3067 | |
.uleb128 .LEHE7-.LEHB7 | |
.uleb128 0 | |
.uleb128 0 | |
.LLSDACSE3067: | |
.section .text.startup | |
.size _ZN4fast4mainEv, .-_ZN4fast4mainEv | |
.p2align 4,,15 | |
.globl _ZN4slow4mainEv | |
.type _ZN4slow4mainEv, @function | |
_ZN4slow4mainEv: | |
.LFB3060: | |
.cfi_startproc | |
.cfi_personality 0x3,__gxx_personality_v0 | |
.cfi_lsda 0x3,.LLSDA3060 | |
pushq %rbx # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 3, -16 | |
movl $._92, %esi #, | |
movl $3, %edx #, | |
subq $64, %rsp #, | |
.cfi_def_cfa_offset 80 | |
leaq 32(%rsp), %rdi #, | |
leaq 15(%rsp), %rcx #, | |
.LEHB8: | |
call _ZNSt6vectorIdSaIdEEC1ESt16initializer_listIdERKS0_ # | |
.LEHE8: | |
leaq 32(%rsp), %rdi #, | |
.LEHB9: | |
call _ZN4slow3rmsERKSt6vectorIdSaIdEE # | |
movl $_ZSt4cout, %edi #, | |
call _ZNSo9_M_insertIdEERSoT_ # | |
movq %rax, %rdi # D.58885, | |
call _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ # | |
.LEHE9: | |
leaq 32(%rsp), %rdi #, | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
addq $64, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 16 | |
xorl %eax, %eax # | |
popq %rbx # | |
.cfi_def_cfa_offset 8 | |
ret | |
.L223: | |
.cfi_restore_state | |
leaq 32(%rsp), %rdi #, | |
movq %rax, %rbx #, tmp71 | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
movq %rbx, %rdi # tmp71, | |
.LEHB10: | |
call _Unwind_Resume # | |
.LEHE10: | |
.cfi_endproc | |
.LFE3060: | |
.section .gcc_except_table | |
.LLSDA3060: | |
.byte 0xff | |
.byte 0xff | |
.byte 0x1 | |
.uleb128 .LLSDACSE3060-.LLSDACSB3060 | |
.LLSDACSB3060: | |
.uleb128 .LEHB8-.LFB3060 | |
.uleb128 .LEHE8-.LEHB8 | |
.uleb128 0 | |
.uleb128 0 | |
.uleb128 .LEHB9-.LFB3060 | |
.uleb128 .LEHE9-.LEHB9 | |
.uleb128 .L223-.LFB3060 | |
.uleb128 0 | |
.uleb128 .LEHB10-.LFB3060 | |
.uleb128 .LEHE10-.LEHB10 | |
.uleb128 0 | |
.uleb128 0 | |
.LLSDACSE3060: | |
.section .text.startup | |
.size _ZN4slow4mainEv, .-_ZN4slow4mainEv | |
.p2align 4,,15 | |
.globl main | |
.type main, @function | |
main: | |
.LFB3068: | |
.cfi_startproc | |
.cfi_personality 0x3,__gxx_personality_v0 | |
.cfi_lsda 0x3,.LLSDA3068 | |
pushq %r12 # | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 12, -16 | |
pushq %rbp # | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 6, -24 | |
pushq %rbx # | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 3, -32 | |
subq $96, %rsp #, | |
.cfi_def_cfa_offset 128 | |
.LEHB11: | |
call _ZN8stateful4mainEv # | |
call _ZN4slow4mainEv # | |
call _ZN4fast4mainEv # | |
leaq 32(%rsp), %rdi #, | |
leaq 15(%rsp), %rcx #, | |
movl $._94, %esi #, | |
movl $3, %edx #, | |
call _ZNSt6vectorIdSaIdEEC1ESt16initializer_listIdERKS0_ # | |
.LEHE11: | |
leaq 32(%rsp), %rdi #, | |
.LEHB12: | |
call _ZN4fast3rmsEOSt6vectorIdSaIdEE # | |
movq 40(%rsp), %rbx # MEM[(const struct vector *)&v + 8B], MEM[(const struct vector *)&v + 8B] | |
movq 32(%rsp), %rsi # MEM[(const struct vector *)&v], D.59870 | |
movq $0, 64(%rsp) #, MEM[(struct _Vector_impl *)&D.53892]._M_start | |
movq $0, 72(%rsp) #, MEM[(struct _Vector_impl *)&D.53892]._M_finish | |
movq $0, 80(%rsp) #, MEM[(struct _Vector_impl *)&D.53892]._M_end_of_storage | |
movq %rbx, %rdi # MEM[(const struct vector *)&v + 8B], tmp98 | |
subq %rsi, %rdi # D.59870, tmp98 | |
sarq $3, %rdi #, tmp98 | |
testq %rdi, %rdi # tmp98 | |
je .L233 #, | |
movabsq $2305843009213693951, %rax #, tmp99 | |
cmpq %rax, %rdi # tmp99, tmp98 | |
ja .L242 #, | |
leaq 0(,%rdi,8), %r12 #, prephitmp.692 | |
movq %r12, %rdi # prephitmp.692, | |
call _Znwm # | |
.LEHE12: | |
movq 32(%rsp), %rsi # MEM[(const struct vector *)&v], D.59870 | |
movq 40(%rsp), %rbx # MEM[(const struct vector *)&v + 8B], MEM[(const struct vector *)&v + 8B] | |
movq %rax, %rbp #, D.59893 | |
.L228: | |
subq %rsi, %rbx # D.59870, tmp103 | |
addq %rbp, %r12 # D.59893, tmp100 | |
movq %rbp, 64(%rsp) # D.59893, MEM[(struct _Vector_base *)&D.53892]._M_impl._M_start | |
sarq $3, %rbx #, tmp103 | |
movq %rbp, 72(%rsp) # D.59893, MEM[(struct _Vector_base *)&D.53892]._M_impl._M_finish | |
movq %r12, 80(%rsp) # tmp100, MEM[(struct _Vector_base *)&D.53892]._M_impl._M_end_of_storage | |
testq %rbx, %rbx # tmp103 | |
je .L230 #, | |
leaq 0(,%rbx,8), %rdx #, tmp104 | |
movq %rbp, %rdi # D.59893, | |
call memmove # | |
.L230: | |
leaq 0(%rbp,%rbx,8), %rax #, tmp106 | |
leaq 64(%rsp), %rdi #, | |
movq %rax, 72(%rsp) # tmp106, D.53892.D.33227._M_impl._M_finish | |
.LEHB13: | |
call _ZN4fast3rmsEOSt6vectorIdSaIdEE # | |
.LEHE13: | |
leaq 64(%rsp), %rdi #, | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
leaq 32(%rsp), %rdi #, | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
addq $96, %rsp #, | |
.cfi_remember_state | |
.cfi_def_cfa_offset 32 | |
xorl %eax, %eax # | |
popq %rbx # | |
.cfi_def_cfa_offset 24 | |
popq %rbp # | |
.cfi_def_cfa_offset 16 | |
popq %r12 # | |
.cfi_def_cfa_offset 8 | |
ret | |
.L233: | |
.cfi_restore_state | |
xorl %r12d, %r12d # prephitmp.692 | |
xorl %ebp, %ebp # D.59893 | |
jmp .L228 # | |
.L242: | |
.LEHB14: | |
call _ZSt17__throw_bad_allocv # | |
.LEHE14: | |
.L234: | |
movq %rax, %rbx #, tmp112 | |
.L232: | |
leaq 32(%rsp), %rdi #, | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
movq %rbx, %rdi # tmp112, | |
.LEHB15: | |
call _Unwind_Resume # | |
.LEHE15: | |
.L235: | |
leaq 64(%rsp), %rdi #, | |
movq %rax, %rbx #, tmp113 | |
call _ZNSt6vectorIdSaIdEED1Ev # | |
jmp .L232 # | |
.cfi_endproc | |
.LFE3068: | |
.section .gcc_except_table | |
.LLSDA3068: | |
.byte 0xff | |
.byte 0xff | |
.byte 0x1 | |
.uleb128 .LLSDACSE3068-.LLSDACSB3068 | |
.LLSDACSB3068: | |
.uleb128 .LEHB11-.LFB3068 | |
.uleb128 .LEHE11-.LEHB11 | |
.uleb128 0 | |
.uleb128 0 | |
.uleb128 .LEHB12-.LFB3068 | |
.uleb128 .LEHE12-.LEHB12 | |
.uleb128 .L234-.LFB3068 | |
.uleb128 0 | |
.uleb128 .LEHB13-.LFB3068 | |
.uleb128 .LEHE13-.LEHB13 | |
.uleb128 .L235-.LFB3068 | |
.uleb128 0 | |
.uleb128 .LEHB14-.LFB3068 | |
.uleb128 .LEHE14-.LEHB14 | |
.uleb128 .L234-.LFB3068 | |
.uleb128 0 | |
.uleb128 .LEHB15-.LFB3068 | |
.uleb128 .LEHE15-.LEHB15 | |
.uleb128 0 | |
.uleb128 0 | |
.LLSDACSE3068: | |
.section .text.startup | |
.size main, .-main | |
.p2align 4,,15 | |
.type _GLOBAL__sub_I__Z3sumRKSt6vectorIdSaIdEE, @function | |
_GLOBAL__sub_I__Z3sumRKSt6vectorIdSaIdEE: | |
.LFB3386: | |
.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 | |
.LFE3386: | |
.size _GLOBAL__sub_I__Z3sumRKSt6vectorIdSaIdEE, .-_GLOBAL__sub_I__Z3sumRKSt6vectorIdSaIdEE | |
.section .init_array,"aw" | |
.align 8 | |
.quad _GLOBAL__sub_I__Z3sumRKSt6vectorIdSaIdEE | |
.section .rodata | |
.align 16 | |
.type ._91, @object | |
.size ._91, 24 | |
._91: | |
.long 0 | |
.long 1072693248 | |
.long 0 | |
.long 1073741824 | |
.long 0 | |
.long 1074266112 | |
.align 16 | |
.type ._92, @object | |
.size ._92, 24 | |
._92: | |
.long 0 | |
.long 1072693248 | |
.long 0 | |
.long 1073741824 | |
.long 0 | |
.long 1074266112 | |
.align 16 | |
.type ._93, @object | |
.size ._93, 24 | |
._93: | |
.long 0 | |
.long 1072693248 | |
.long 0 | |
.long 1073741824 | |
.long 0 | |
.long 1074266112 | |
.align 16 | |
.type ._94, @object | |
.size ._94, 24 | |
._94: | |
.long 0 | |
.long 1072693248 | |
.long 0 | |
.long 1073741824 | |
.long 0 | |
.long 1074266112 | |
.local _ZStL8__ioinit | |
.comm _ZStL8__ioinit,1,1 | |
.hidden __dso_handle | |
.ident "GCC: (Ubuntu/Linaro 4.7.2-4precise1) 4.7.2" | |
.section .note.GNU-stack,"",@progbits |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment