-
-
Save fabiogaluppo/14ae27e1efd6be4ac1d3 to your computer and use it in GitHub Desktop.
iterator_with_predicate vs. _if
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
std::copy(iwp.begin(), iwp.end(), ys.begin()); | |
00007FF6AE901094 movups xmm0,xmmword ptr [rbp-29h] | |
00007FF6AE901098 movups xmmword ptr [rbp-29h],xmm0 | |
00007FF6AE90109C mov rax,qword ptr [rbp-19h] | |
00007FF6AE9010A0 mov qword ptr [rbp-29h],rax | |
00007FF6AE9010A4 movzx ecx,byte ptr [rax] | |
00007FF6AE9010A7 not cl | |
00007FF6AE9010A9 test cl,1 | |
00007FF6AE9010AC jne test_efficiency+0D9h (07FF6AE9010D9h) | |
00007FF6AE9010AE lea rcx,[rax+4] | |
00007FF6AE9010B2 mov rax,rcx | |
00007FF6AE9010B5 mov qword ptr [rbp-29h],rcx | |
00007FF6AE9010B9 mov rdx,qword ptr [rbp-21h] | |
00007FF6AE9010BD cmp rcx,rdx | |
00007FF6AE9010C0 je test_efficiency+0D9h (07FF6AE9010D9h) | |
00007FF6AE9010C2 movzx ecx,byte ptr [rax] | |
00007FF6AE9010C5 not cl | |
00007FF6AE9010C7 test cl,1 | |
00007FF6AE9010CA jne test_efficiency+0D5h (07FF6AE9010D5h) | |
00007FF6AE9010CC add rax,4 | |
00007FF6AE9010D0 cmp rax,rdx | |
00007FF6AE9010D3 jne test_efficiency+0C2h (07FF6AE9010C2h) | |
00007FF6AE9010D5 mov qword ptr [rbp-29h],rax | |
00007FF6AE9010D9 movups xmm0,xmmword ptr [rbp-29h] | |
00007FF6AE9010DD movaps xmmword ptr [rbp+17h],xmm0 | |
00007FF6AE9010E1 mov r8,qword ptr [rbp+27h] | |
00007FF6AE9010E5 cmp rax,rbx | |
00007FF6AE9010E8 je test_efficiency+129h (07FF6AE901129h) | |
00007FF6AE9010EA mov rdx,qword ptr [rbp+1Fh] | |
00007FF6AE9010EE mov rcx,qword ptr [rbp+17h] | |
00007FF6AE9010F2 nop dword ptr [rax] | |
00007FF6AE9010F6 nop word ptr [rax+rax] | |
00007FF6AE901100 mov eax,dword ptr [rcx] | |
00007FF6AE901102 mov dword ptr [r8],eax | |
00007FF6AE901105 lea r8,[r8+4] | |
00007FF6AE901109 add rcx,4 | |
00007FF6AE90110D cmp rcx,rdx | |
00007FF6AE901110 je test_efficiency+124h (07FF6AE901124h) | |
00007FF6AE901112 movzx eax,byte ptr [rcx] | |
00007FF6AE901115 not al | |
00007FF6AE901117 test al,1 | |
00007FF6AE901119 jne test_efficiency+124h (07FF6AE901124h) | |
00007FF6AE90111B add rcx,4 | |
00007FF6AE90111F cmp rcx,rdx | |
00007FF6AE901122 jne test_efficiency+112h (07FF6AE901112h) | |
00007FF6AE901124 cmp rcx,rbx | |
00007FF6AE901127 jne test_efficiency+100h (07FF6AE901100h) | |
std::copy_if(xs.begin(), xs.end(), zs.begin(), is_even); | |
00007FF6AE901147 mov rbx,qword ptr [rbp-39h] | |
00007FF6AE90114B mov rcx,rbx | |
00007FF6AE90114E mov r8,qword ptr [rbp-19h] | |
00007FF6AE901152 mov r9,rsi | |
00007FF6AE901155 mov r10,qword ptr [rbp-11h] | |
00007FF6AE901159 sub r10,r8 | |
00007FF6AE90115C add r10,3 | |
00007FF6AE901160 shr r10,2 | |
00007FF6AE901164 cmp r8,qword ptr [rbp-11h] | |
00007FF6AE901168 cmova r10,rsi | |
00007FF6AE90116C test r10,r10 | |
00007FF6AE90116F je test_efficiency+193h (07FF6AE901193h) | |
00007FF6AE901171 movzx eax,byte ptr [r8] | |
00007FF6AE901175 not al | |
00007FF6AE901177 test al,1 | |
00007FF6AE901179 je test_efficiency+187h (07FF6AE901187h) | |
00007FF6AE90117B mov rax,rcx | |
00007FF6AE90117E add rcx,4 | |
00007FF6AE901182 mov edx,dword ptr [r8] | |
00007FF6AE901185 mov dword ptr [rax],edx | |
00007FF6AE901187 add r8,4 | |
00007FF6AE90118B inc r9 | |
00007FF6AE90118E cmp r9,r10 | |
00007FF6AE901191 jne test_efficiency+171h (07FF6AE901171h) | |
00007FF6AE901193 mov rdi,qword ptr [rbp-31h] | |
00007FF6AE901197 sub rdi,rbx | |
00007FF6AE90119A add rdi,3 | |
00007FF6AE90119E shr rdi,2 | |
00007FF6AE9011A2 cmp rbx,qword ptr [rbp-31h] | |
00007FF6AE9011A6 cmova rdi,rsi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment