rlp uint perf

Created Diff never expires
77 removals
Words removed123
Total words282
Words removed (%)43.62
153 lines
21 additions
Words added28
Total words187
Words added (%)14.97
96 lines
<u64 as Encodable>::encode:
<u64 as Encodable>::encode:


.cfi_startproc
.cfi_startproc
push r15
push r15
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
push r14
push r14
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
push r12
push r12
.cfi_def_cfa_offset 32
.cfi_def_cfa_offset 32
push rbx
push rbx
.cfi_def_cfa_offset 40
.cfi_def_cfa_offset 40
push rax
push rax
.cfi_def_cfa_offset 48
.cfi_def_cfa_offset 48
.cfi_offset rbx, -40
.cfi_offset rbx, -40
.cfi_offset r12, -32
.cfi_offset r12, -32
.cfi_offset r14, -24
.cfi_offset r14, -24
.cfi_offset r15, -16
.cfi_offset r15, -16

mov rbx, rsi
mov rbx, rsi


mov rsi, qword ptr [rdi]
mov rsi, qword ptr [rdi]

mov r14, rdx
mov r14, rdx


test rsi, rsi
test rsi, rsi
je .LBB49_1
je .LBB26_1


cmp rsi, 128
cmp rsi, 128
jae .LBB49_4
jae .LBB26_4


mov rax, qword ptr [r14 + 72]
mov rax, qword ptr [r14 + 72]
mov rdi, rbx
mov rdi, rbx


jmp .LBB49_2
jmp .LBB26_2


.LBB49_1:
.LBB26_1:
mov rax, qword ptr [r14 + 72]
mov rax, qword ptr [r14 + 72]
mov esi, 128
mov esi, 128

mov rdi, rbx
mov rdi, rbx


.LBB49_2:
.LBB26_2:
add rsp, 8
add rsp, 8
.cfi_def_cfa_offset 40
.cfi_def_cfa_offset 40
pop rbx
pop rbx


.cfi_def_cfa_offset 32
.cfi_def_cfa_offset 32
pop r12
pop r12
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
pop r14
pop r14


.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
pop r15
pop r15
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
jmp rax
jmp rax


.LBB49_4:
.LBB26_4:
.cfi_def_cfa_offset 48
.cfi_def_cfa_offset 48
movbe qword ptr [rsp], rsi
lzcnt rax, rsi

bswap rsi

test sil, sil

je .LBB49_6

xor eax, eax
jmp .LBB49_13

.LBB49_6:
mov eax, 1

test esi, 65280

jne .LBB49_13

mov eax, 2

test esi, 16711680

jne .LBB49_13

mov rcx, rsi
shr rcx, 24
mov eax, 3
test cl, cl

jne .LBB49_13

mov rcx, rsi
shr rcx, 32
mov eax, 4
test cl, cl

jne .LBB49_13

mov rcx, rsi
shr rcx, 40
mov eax, 5
test cl, cl

jne .LBB49_13

mov rcx, rsi
shr rcx, 48
mov eax, 6
test cl, cl

jne .LBB49_13

shr rsi, 56

mov eax, 7
mov ecx, 8

je .LBB49_14

.LBB49_13:
mov rcx, rax

.LBB49_14:
mov r15d, 8
mov r15d, 8


lea r12, [rsp + rcx]
movbe qword ptr [rsp], rsi


mov rdi, rbx
mov rdi, rbx


sub r15, rcx
shr rax, 3


mov eax, r15d
sub r15, rax
or al, -128

movzx esi, al
lea r12, [rsp + rax]

mov ecx, r15d
or cl, -128
movzx esi, cl

call qword ptr [r14 + 72]
call qword ptr [r14 + 72]

mov rdi, rbx
mov rdi, rbx
mov rsi, r12
mov rsi, r12
mov rdx, r15
mov rdx, r15
call qword ptr [r14 + 56]
call qword ptr [r14 + 56]


add rsp, 8
add rsp, 8
.cfi_def_cfa_offset 40
.cfi_def_cfa_offset 40
pop rbx
pop rbx


.cfi_def_cfa_offset 32
.cfi_def_cfa_offset 32
pop r12
pop r12

.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
pop r14
pop r14


.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
pop r15
pop r15

.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
ret
ret