Untitled Diff

Criado O diff nunca expira
14 remoções
237 linhas
17 adições
239 linhas
; Assembly listing for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this
; Assembly listing for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this


G_M16662_IG01:
G_M16662_IG01:
push r15
push r15
push r14
push r14
push r12
push r12
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp, 160
sub rsp, 160
xor eax, eax
xor eax, eax
mov qword ptr [rsp+28H], rax
mov qword ptr [rsp+28H], rax
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
mov rax, -96
mov rax, -96
vmovdqa xmmword ptr [rsp+rax+A0H], xmm4
vmovdqa xmmword ptr [rsp+rax+A0H], xmm4
vmovdqa xmmword ptr [rsp+rax+B0H], xmm4
vmovdqa xmmword ptr [rsp+rax+B0H], xmm4
vmovdqa xmmword ptr [rsp+rax+C0H], xmm4
vmovdqa xmmword ptr [rsp+rax+C0H], xmm4
add rax, 48
add rax, 48
jne SHORT -5 instr
jne SHORT -5 instr
mov rsi, r8
mov rsi, r8
mov r8, gword ptr [rsp+100H]
mov r8, gword ptr [rsp+100H]
;; size=93 bbWeight=1 PerfScore 19.58
;; size=93 bbWeight=1 PerfScore 19.58
G_M16662_IG02:
G_M16662_IG02:
mov rdi, qword ptr [rcx]
mov rdi, qword ptr [rcx]
mov rbx, qword ptr [rcx+08H]
mov rbx, qword ptr [rcx+08H]
mov rbp, bword ptr [r9]
mov rbp, bword ptr [r9]
mov r14d, dword ptr [r9+08H]
mov r14d, dword ptr [r9+08H]
mov r15, bword ptr [rdx]
mov r15, bword ptr [rdx]
mov r12d, dword ptr [rdx+08H]
mov r12d, dword ptr [rdx+08H]
test r14d, r14d
test r14d, r14d
jne G_M16662_IG23
jne G_M16662_IG23
;; size=30 bbWeight=1 PerfScore 13.25
;; size=30 bbWeight=1 PerfScore 13.25
G_M16662_IG03:
G_M16662_IG03:
test rbx, rbx
test rbx, rbx
jge G_M16662_IG22
jge G_M16662_IG22
test r8, r8
test r8, r8
je SHORT G_M16662_IG04
je SHORT G_M16662_IG04
mov rcx, r8
mov rcx, r8
call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo]
call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo]
jmp SHORT G_M16662_IG05
jmp SHORT G_M16662_IG05
align [2 bytes for IG17]
align [12 bytes for IG17]
;; size=27 bbWeight=0.50 PerfScore 3.88
;; size=37 bbWeight=0.50 PerfScore 3.88
G_M16662_IG04:
G_M16662_IG04:
call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo]
call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo]
;; size=6 bbWeight=0.50 PerfScore 1.50
;; size=6 bbWeight=0.50 PerfScore 1.50
G_M16662_IG05:
G_M16662_IG05:
mov rbp, gword ptr [rax+28H]
mov rbp, gword ptr [rax+28H]
mov r14, rdi
mov r14, rdi
neg r14
neg r14
jne SHORT G_M16662_IG06
jne SHORT G_M16662_IG06
xor ecx, ecx
xor edx, edx
jmp SHORT G_M16662_IG07
jmp SHORT G_M16662_IG07
;; size=16 bbWeight=0.50 PerfScore 2.88
;; size=16 bbWeight=0.50 PerfScore 2.88
G_M16662_IG06:
G_M16662_IG06:
mov ecx, 1
mov edx, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
;; size=5 bbWeight=0.50 PerfScore 0.12
G_M16662_IG07:
G_M16662_IG07:
xor edi, edi
xor edi, edi
sub rdi, rbx
sub rdi, rbx
sub rdi, rcx
sub rdi, rdx
mov qword ptr [rsp+88H], r14
mov qword ptr [rsp+88H], r14
mov qword ptr [rsp+90H], rdi
mov qword ptr [rsp+90H], rdi
test rdi, rdi
test rdi, rdi
jne SHORT G_M16662_IG08
jne SHORT G_M16662_IG08
mov rcx, qword ptr [rsp+88H]
mov rdx, qword ptr [rsp+88H]
call [System.Numerics.BitOperations:Log2(ulong):int]
or rdx, 1
movsxd rdx, eax
lzcnt rdx, rdx
xor edx, 63
movsxd rdx, edx
mov r8, 0xD1FFAB1E ; static handle
mov r8, 0xD1FFAB1E ; static handle
movzx rax, byte ptr [rdx+r8]
movzx rax, byte ptr [rdx+r8]
mov rdx, qword ptr [rsp+88H]
mov rdx, qword ptr [rsp+88H]
lea r8d, [8*rax]
lea r8d, [8*rax]
mov rcx, 0xD1FFAB1E ; static handle
mov rcx, 0xD1FFAB1E ; static handle
cmp rdx, qword ptr [r8+rcx]
cmp rdx, qword ptr [r8+rcx]
setb dl
setb dl
movzx rdx, dl
movzx rdx, dl
sub eax, edx
sub eax, edx
jmp G_M16662_IG11
jmp G_M16662_IG11
;; size=104 bbWeight=0.50 PerfScore 9.38
;; size=110 bbWeight=0.50 PerfScore 9.12
G_M16662_IG08:
G_M16662_IG08:
mov ebx, 20
mov ebx, 20
cmp rdi, 5
cmp rdi, 5
jbe SHORT G_M16662_IG09
jbe SHORT G_M16662_IG09
vmovupd xmm0, xmmword ptr [rsp+88H]
vmovupd xmm0, xmmword ptr [rsp+88H]
vmovupd xmmword ptr [rsp+68H], xmm0
vmovupd xmmword ptr [rsp+68H], xmm0
mov rdx, 0xD1FFAB1E
mov rdx, 0xD1FFAB1E
mov qword ptr [rsp+58H], rdx
mov qword ptr [rsp+58H], rdx
mov qword ptr [rsp+60H], 5
mov qword ptr [rsp+60H], 5
lea rdx, [rsp+68H]
lea rdx, [rsp+68H]
lea r8, [rsp+58H]
lea r8, [rsp+58H]
lea rcx, bword ptr [rsp+88H]
lea rcx, bword ptr [rsp+88H]
call [System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128]
call [System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128]
mov rcx, qword ptr [rsp+88H]
mov rcx, qword ptr [rsp+88H]
call [System.Buffers.Text.FormattingHelpers:CountDigits(ulong):int]
call [System.Buffers.Text.FormattingHelpers:CountDigits(ulong):int]
lea ebx, [rax+14H]
lea ebx, [rax+14H]
jmp SHORT G_M16662_IG10
jmp SHORT G_M16662_IG10
;; size=95 bbWeight=0.50 PerfScore 9.38
;; size=95 bbWeight=0.50 PerfScore 9.38
G_M16662_IG09:
G_M16662_IG09:
cmp rdi, 5
cmp rdi, 5
jne SHORT G_M16662_IG10
jne SHORT G_M16662_IG10
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
cmp qword ptr [rsp+88H], rcx
cmp qword ptr [rsp+88H], rcx