OneTwentySeven
80 removals
Words removed | 116 |
Total words | 301 |
Words removed (%) | 38.54 |
106 lines
78 additions
Words added | 107 |
Total words | 292 |
Words added (%) | 36.64 |
104 lines
option_a(benchmark::State&):
option_b(benchmark::State&):
push r13
push r12
push r12
mov r12, rdi
push rbp
mov rbp, rdi
mov edi, 4194304
mov edi, 4194304
push rbp
push rbx
push rbx
sub rsp, 40
sub rsp, 32
call operator new(unsigned long)
call operator new(unsigned long)
xor esi, esi
xor esi, esi
mov edx, 4194300
mov edx, 4194300
mov DWORD PTR [rax], 0
mov DWORD PTR [rax], 0
lea rbx, [rax+4194304]
lea r12, [rax+4194304]
lea rdi, [rax+4]
lea rdi, [rax+4]
mov rbp, rax
mov rbx, rax
mov QWORD PTR [rsp], rax
mov QWORD PTR [rsp], rax
mov QWORD PTR [rsp+16], rbx
mov QWORD PTR [rsp+16], r12
call memset
call memset
cmp BYTE PTR [r12+26], 0
cmp BYTE PTR [rbp+26], 0
mov QWORD PTR [rsp+8], rbx
mov QWORD PTR [rsp+8], r12
je .L35
je .L10
mov rdi, r12
mov rdi, rbp
call benchmark::State::StartKeepRunning()
call benchmark::State::StartKeepRunning()
.L36:
.L11:
mov rdi, r12
mov rdi, rbp
call benchmark::State::FinishKeepRunning()
call benchmark::State::FinishKeepRunning()
add rsp, 40
add rsp, 32
mov rdi, rbp
mov rdi, rbx
mov esi, 4194304
mov esi, 4194304
pop rbx
pop rbx
pop rbp
pop rbp
pop r12
pop r12
pop r13
jmp operator delete(void*, unsigned long)
jmp operator delete(void*, unsigned long)
.L35:
.L10:
mov rdi, r12
mov rdi, rbp
mov r13, QWORD PTR [r12+16]
mov r12, QWORD PTR [rbp+16]
call benchmark::State::StartKeepRunning()
call benchmark::State::StartKeepRunning()
test r13, r13
test r12, r12
je .L36
je .L11
lea rdx, [r13-1]
lea rax, [r12-1]
mov rcx, r12
cmp rdx, 1
cmp rax, 1
jbe .L42
jbe .L13
lea rax, [r13-3]
lea rax, [r12-3]
lea rcx, [r13-4]
lea rdx, [r12-4]
movq xmm2, QWORD PTR .LC0[rip]
movq xmm2, QWORD PTR .LC0[rip]
and rax, -2
and rax, -2
lea rsi, [r13-2]
lea rcx, [r12-2]
lea rdx, [rbp+4192256]
lea rsi, [rbx+4194240]
sub rcx, rax
sub rdx, rax
.L40:
.L15:
mov rax, rbp
mov rax, rbx
.L39:
.L14:
movq xmm0, QWORD PTR [rax]
movq xmm1, QWORD PTR [rax]
add rax, 2048
add rax, 2056
movq xmm1, QWORD PTR [rax-1024]
movq xmm0, QWORD PTR [rax-1032]
punpckldq xmm0, xmm1
movss xmm0, xmm1
paddd xmm0, xmm2
paddd xmm0, xmm2
pshufd xmm3, xmm0, 0xe5
pshufd xmm3, xmm0, 0xe5
movd DWORD PTR [rax-2048], xmm0
movd DWORD PTR [rax-2056], xmm0
movd DWORD PTR [rax-1024], xmm3
movd DWORD PTR [rax-1028], xmm3
cmp rdx, rax
cmp rax, rsi
jne .L39
jne .L14
lea rax, [rsi-2]
lea rax, [rcx-2]
add DWORD PTR [rbp+4192256], 2
add DWORD PTR [rbx+4194240], 2
add DWORD PTR [rbp+4193280], 2
cmp rax, rcx
cmp rax, rdx
je .L59
je .L13
mov rsi, rax
mov rcx, rax
jmp .L40
jmp .L15
.L57:
.L13:
test rdx, rdx
lea rdx, [rbx+4195268]
je .L36
sub rdx, 1
.L42:
mov rcx, rbx
mov rax, rbp
sub rcx, rbp
and ch, 4
je .L41
lea rax, [rbp+1024]
add DWORD PTR [rbp+0], 1
cmp rbx, rax
je .L57
.L41:
.L17:
mov rsi, rdx
mov rax, rbx
sub rsi, rbx
and esi, 4
je .L16
lea rax, [rbx+1028]
add DWORD PTR [rbx], 1
cmp rax, rdx
je .L32
.L16:
add DWORD PTR [rax], 1
add DWORD PTR [rax], 1
add DWORD PTR [rax+1024], 1
add DWORD PTR [rax+1028], 1
add rax, 2048
add rax, 2056
cmp rbx, rax
cmp rax, rdx
jne .L41
jne .L16
jmp .L57
.L32:
.L59:
sub rcx, 1
lea rdx, [rsi-1]
jne .L17
jmp .L42
jmp .L11
mov rbx, rax
mov rbx, rax
jmp .L43
jmp .L18
option_a(benchmark::State&) (.cold):
option_b(benchmark::State&) (.cold):
.L43:
.L18:
mov rdi, rsp
mov rdi, rsp
call std::vector<int, std::allocator<int>>::~vector() [complete object destructor]
call std::vector<int, std::allocator<int>>::~vector() [complete object destructor]
mov rdi, rbx
mov rdi, rbx
call _Unwind_Resume
call _Unwind_Resume