Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled Diff
Created
4 years ago
Diff never expires
Clear
Export
Share
Explain
14 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
237 lines
Copy
17 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
239 lines
Copy
; 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
Copy
Copied
Copy
Copied
align [
2 bytes for IG17]
align [
1
2 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
Copy
Copied
Copy
Copied
xor e
c
x, e
c
x
xor e
d
x, e
d
x
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:
Copy
Copied
Copy
Copied
mov e
c
x, 1
mov e
d
x, 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
Copy
Copied
Copy
Copied
sub rdi, r
c
x
sub rdi, r
d
x
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
Copy
Copied
Copy
Copied
mov r
c
x, qword ptr [rsp+88H]
mov r
d
x, 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
Copy
Copied
Copy
Copied
;; 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
jb SHORT G_M16662_IG10
jb SHORT G_M16662_IG10
mov ebx, 21
mov ebx, 21
;; size=31 bbWeight=0.50 PerfScore 2.38
;; size=31 bbWeight=0.50 PerfScore 2.38
G_M16662_IG10:
G_M16662_IG10:
mov eax, ebx
mov eax, ebx
;; size=2 bbWeight=0.50 PerfScore 0.12
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M16662_IG11:
G_M16662_IG11:
cmp eax, 1
cmp eax, 1
jle SHORT G_M16662_IG12
jle SHORT G_M16662_IG12
jmp SHORT G_M16662_IG13
jmp SHORT G_M16662_IG13
;; size=7 bbWeight=0.50 PerfScore 1.62
;; size=7 bbWeight=0.50 PerfScore 1.62
G_M16662_IG12:
G_M16662_IG12:
mov eax, 1
mov eax, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
;; size=5 bbWeight=0.50 PerfScore 0.12
G_M16662_IG13:
G_M16662_IG13:
mov ebx, dword ptr [rbp+08H]
mov ebx, dword ptr [rbp+08H]
add eax, ebx
add eax, ebx
cmp eax, r12d
cmp eax, r12d
jle SHORT G_M16662_IG14
jle SHORT G_M16662_IG14
xor eax, eax
xor eax, eax
mov dword ptr [rsi], eax
mov dword ptr [rsi], eax
jmp G_M16662_IG21
jmp G_M16662_IG21
;; size=19 bbWeight=0.50 PerfScore 3.38
;; size=19 bbWeight=0.50 PerfScore 3.38
G_M16662_IG14:
G_M16662_IG14:
mov dword ptr [rsi], eax
mov dword ptr [rsi], eax
mov bword ptr [rsp+98H], r15
mov bword ptr [rsp+98H], r15
movsxd rcx, eax
movsxd rcx, eax
lea rsi, [r15+2*rcx]
lea rsi, [r15+2*rcx]
mov qword ptr [rsp+78H], r14
mov qword ptr [rsp+78H], r14
mov qword ptr [rsp+80H], rdi
mov qword ptr [rsp+80H], rdi
mov edi, 1
mov edi, 1
cmp qword ptr [rsp+80H], 0
cmp qword ptr [rsp+80H], 0
je SHORT G_M16662_IG16
je SHORT G_M16662_IG16
;; size=46 bbWeight=0.50 PerfScore 4.00
;; size=46 bbWeight=0.50 PerfScore 4.00
G_M16662_IG15:
G_M16662_IG15:
lea rcx, bword ptr [rsp+78H]
lea rcx, bword ptr [rsp+78H]
call [System.Number:Int128DivMod1E19(byref):ulong]
call [System.Number:Int128DivMod1E19(byref):ulong]
mov rdx, rax
mov rdx, rax
mov rcx, rsi
mov rcx, rsi
mov r8d, 19
mov r8d, 19
call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong]
call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong]
mov rsi, rax
mov rsi, rax
add edi, -19
add edi, -19
cmp qword ptr [rsp+80H], 0
cmp qword ptr [rsp+80H], 0
jne SHORT G_M16662_IG15
jne SHORT G_M16662_IG15
;; size=46 bbWeight=4 PerfScore 43.00
;; size=46 bbWeight=4 PerfScore 43.00
G_M16662_IG16:
G_M16662_IG16:
mov rcx, rsi
mov rcx, rsi
mov rdx, qword ptr [rsp+78H]
mov rdx, qword ptr [rsp+78H]
mov r8d, edi
mov r8d, edi
call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong]
call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong]
lea ecx, [rbx-01H]
lea ecx, [rbx-01H]
test ecx, ecx
test ecx, ecx
jl SHORT G_M16662_IG20
jl SHORT G_M16662_IG20
cmp ebx, ecx
cmp ebx, ecx
jle SHORT G_M16662_IG19
jle SHORT G_M16662_IG19
;; size=28 bbWeight=0.50 PerfScore 3.75
;; size=28 bbWeight=0.50 PerfScore 3.75
G_M16662_IG17:
G_M16662_IG17:
add rax, -2
add rax, -2
mov r8d, ecx
mov r8d, ecx
movzx r8, word ptr [rbp+2*r8+0CH]
movzx r8, word ptr [rbp+2*r8+0CH]
mov word ptr [rax], r8w
mov word ptr [rax], r8w
dec ecx
dec ecx
jns SHORT G_M16662_IG17
jns SHORT G_M16662_IG17
;; size=21 bbWeight=3.96 PerfScore 18.81
;; size=21 bbWeight=3.96 PerfScore 18.81
G_M16662_IG18:
G_M16662_IG18:
jmp SHORT G_M16662_IG20
jmp SHORT G_M16662_IG20
;; size=2 bbWeight=0.50 PerfScore 1.00
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M16662_IG19:
G_M16662_IG19:
add rax, -2
add rax, -2
cmp ecx, ebx
cmp ecx, ebx
jae G_M16662_IG26
jae G_M16662_IG26
mov r8d, ecx
mov r8d, ecx
movzx r8, word ptr [rbp+2*r8+0CH]
movzx r8, word ptr [rbp+2*r8+0CH]
mov word ptr [rax], r8w
mov word ptr [rax], r8w
dec ecx
dec ecx
jns SHORT G_M16662_IG19
jns SHORT G_M16662_IG19
;; size=29 bbWeight=0.04 PerfScore 0.24
;; size=29 bbWeight=0.04 PerfScore 0.24
G_M16662_IG20:
G_M16662_IG20:
xor ecx, ecx
xor ecx, ecx
mov bword ptr [rsp+98H], rcx
mov bword ptr [rsp+98H], rcx
mov eax, 1
mov eax, 1
;; size=15 bbWeight=0.50 PerfScore 0.75
;; size=15 bbWeight=0.50 PerfScore 0.75
G_M16662_IG21:
G_M16662_IG21:
jmp SHORT G_M16662_IG24
jmp SHORT G_M16662_IG24
;; size=2 bbWeight=0.50 PerfScore 1.00
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M16662_IG22:
G_M16662_IG22:
mov rcx, rdi
mov rcx, rdi
mov r8, rbx
mov r8, rbx
mov qword ptr [rsp+68H], rcx
mov qword ptr [rsp+68H], rcx
mov qword ptr [rsp+70H], r8
mov qword ptr [rsp+70H], r8
mov bword ptr [rsp+48H], r15
mov bword ptr [rsp+48H], r15
mov dword ptr [rsp+50H], r12d
mov dword ptr [rsp+50H], r12d
lea rcx, [rsp+68H]
lea rcx, [rsp+68H]
lea r8, [rsp+48H]
lea r8, [rsp+48H]
mov r9, rsi
mov r9, rsi
mov edx, -1
mov edx, -1
call [System.Number:TryUInt128ToDecStr(System.UInt128,int,System.Span`1[ushort],byref):bool]
call [System.Number:TryUInt128ToDecStr(System.UInt128,int,System.Span`1[ushort],byref):bool]
jmp SHORT G_M16662_IG24
jmp SHORT G_M16662_IG24
;; size=52 bbWeight=0.50 PerfScore 5.50
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M16662_IG23:
G_M16662_IG23:
mov qword ptr [rsp+38H], rdi
mov qword ptr [rsp+38H], rdi
mov qword ptr [rsp+40H], rbx
mov qword ptr [rsp+40H], rbx
mov bword ptr [rsp+28H], rbp
mov bword ptr [rsp+28H], rbp
mov dword ptr [rsp+30H], r14d
mov dword ptr [rsp+30H], r14d
mov bword ptr [rsp+48H], r15
mov bword ptr [rsp+48H], r15
mov dword ptr [rsp+50H], r12d
mov dword ptr [rsp+50H], r12d
mov bword ptr [rsp+20H], rsi
mov bword ptr [rsp+20H], rsi
lea rcx, [rsp+38H]
lea rcx, [rsp+38H]
lea rdx, [rsp+28H]
lea rdx, [rsp+28H]
lea r9, [rsp+48H]
lea r9, [rsp+48H]
call [System.Number:<TryFormatInt128>g__TryFormatInt128Slow|50_0(System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ushort],byref):bool]
call [System.Number:<TryFormatInt128>g__TryFormatInt128Slow|50_0(System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ushort],byref):bool]
;; size=56 bbWeight=0.50 PerfScore 5.75
;; size=56 bbWeight=0.50 PerfScore 5.75
G_M16662_IG24:
G_M16662_IG24:
nop
nop
;; size=1 bbWeight=1 PerfScore 0.25
;; size=1 bbWeight=1 PerfScore 0.25
G_M16662_IG25:
G_M16662_IG25:
add rsp, 160
add rsp, 160
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r12
pop r12
pop r14
pop r14
pop r15
pop r15
ret
ret
;; size=18 bbWeight=1 PerfScore 4.75
;; size=18 bbWeight=1 PerfScore 4.75
G_M16662_IG26:
G_M16662_IG26:
call CORINFO_HELP_RNGCHKFAIL
call CORINFO_HELP_RNGCHKFAIL
int3
int3
;; size=6 bbWeight=0 PerfScore 0.00
;; size=6 bbWeight=0 PerfScore 0.00
Copy
Copied
Copy
Copied
; Total bytes of code
762
, prolog size 93, PerfScore 23
2.58
, instruction count 18
0
, allocated bytes for code
762
(MethodHash=d514bee9) for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this
; Total bytes of code
778
, prolog size 93, PerfScore 23
3.93
, instruction count 18
2
, allocated bytes for code
778
(MethodHash=d514bee9) for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this
; ============================================================
; ============================================================
Saved diffs
Original text
Open file
; Assembly listing for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this G_M16662_IG01: push r15 push r14 push r12 push rdi push rsi push rbp push rbx sub rsp, 160 xor eax, eax mov qword ptr [rsp+28H], rax vxorps xmm4, xmm4 vmovdqa xmmword ptr [rsp+30H], xmm4 mov rax, -96 vmovdqa xmmword ptr [rsp+rax+A0H], xmm4 vmovdqa xmmword ptr [rsp+rax+B0H], xmm4 vmovdqa xmmword ptr [rsp+rax+C0H], xmm4 add rax, 48 jne SHORT -5 instr mov rsi, r8 mov r8, gword ptr [rsp+100H] ;; size=93 bbWeight=1 PerfScore 19.58 G_M16662_IG02: mov rdi, qword ptr [rcx] mov rbx, qword ptr [rcx+08H] mov rbp, bword ptr [r9] mov r14d, dword ptr [r9+08H] mov r15, bword ptr [rdx] mov r12d, dword ptr [rdx+08H] test r14d, r14d jne G_M16662_IG23 ;; size=30 bbWeight=1 PerfScore 13.25 G_M16662_IG03: test rbx, rbx jge G_M16662_IG22 test r8, r8 je SHORT G_M16662_IG04 mov rcx, r8 call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M16662_IG05 align [2 bytes for IG17] ;; size=27 bbWeight=0.50 PerfScore 3.88 G_M16662_IG04: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] ;; size=6 bbWeight=0.50 PerfScore 1.50 G_M16662_IG05: mov rbp, gword ptr [rax+28H] mov r14, rdi neg r14 jne SHORT G_M16662_IG06 xor ecx, ecx jmp SHORT G_M16662_IG07 ;; size=16 bbWeight=0.50 PerfScore 2.88 G_M16662_IG06: mov ecx, 1 ;; size=5 bbWeight=0.50 PerfScore 0.12 G_M16662_IG07: xor edi, edi sub rdi, rbx sub rdi, rcx mov qword ptr [rsp+88H], r14 mov qword ptr [rsp+90H], rdi test rdi, rdi jne SHORT G_M16662_IG08 mov rcx, qword ptr [rsp+88H] call [System.Numerics.BitOperations:Log2(ulong):int] movsxd rdx, eax mov r8, 0xD1FFAB1E ; static handle movzx rax, byte ptr [rdx+r8] mov rdx, qword ptr [rsp+88H] lea r8d, [8*rax] mov rcx, 0xD1FFAB1E ; static handle cmp rdx, qword ptr [r8+rcx] setb dl movzx rdx, dl sub eax, edx jmp G_M16662_IG11 ;; size=104 bbWeight=0.50 PerfScore 9.38 G_M16662_IG08: mov ebx, 20 cmp rdi, 5 jbe SHORT G_M16662_IG09 vmovupd xmm0, xmmword ptr [rsp+88H] vmovupd xmmword ptr [rsp+68H], xmm0 mov rdx, 0xD1FFAB1E mov qword ptr [rsp+58H], rdx mov qword ptr [rsp+60H], 5 lea rdx, [rsp+68H] lea r8, [rsp+58H] lea rcx, bword ptr [rsp+88H] call [System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128] mov rcx, qword ptr [rsp+88H] call [System.Buffers.Text.FormattingHelpers:CountDigits(ulong):int] lea ebx, [rax+14H] jmp SHORT G_M16662_IG10 ;; size=95 bbWeight=0.50 PerfScore 9.38 G_M16662_IG09: cmp rdi, 5 jne SHORT G_M16662_IG10 mov rcx, 0xD1FFAB1E cmp qword ptr [rsp+88H], rcx jb SHORT G_M16662_IG10 mov ebx, 21 ;; size=31 bbWeight=0.50 PerfScore 2.38 G_M16662_IG10: mov eax, ebx ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M16662_IG11: cmp eax, 1 jle SHORT G_M16662_IG12 jmp SHORT G_M16662_IG13 ;; size=7 bbWeight=0.50 PerfScore 1.62 G_M16662_IG12: mov eax, 1 ;; size=5 bbWeight=0.50 PerfScore 0.12 G_M16662_IG13: mov ebx, dword ptr [rbp+08H] add eax, ebx cmp eax, r12d jle SHORT G_M16662_IG14 xor eax, eax mov dword ptr [rsi], eax jmp G_M16662_IG21 ;; size=19 bbWeight=0.50 PerfScore 3.38 G_M16662_IG14: mov dword ptr [rsi], eax mov bword ptr [rsp+98H], r15 movsxd rcx, eax lea rsi, [r15+2*rcx] mov qword ptr [rsp+78H], r14 mov qword ptr [rsp+80H], rdi mov edi, 1 cmp qword ptr [rsp+80H], 0 je SHORT G_M16662_IG16 ;; size=46 bbWeight=0.50 PerfScore 4.00 G_M16662_IG15: lea rcx, bword ptr [rsp+78H] call [System.Number:Int128DivMod1E19(byref):ulong] mov rdx, rax mov rcx, rsi mov r8d, 19 call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong] mov rsi, rax add edi, -19 cmp qword ptr [rsp+80H], 0 jne SHORT G_M16662_IG15 ;; size=46 bbWeight=4 PerfScore 43.00 G_M16662_IG16: mov rcx, rsi mov rdx, qword ptr [rsp+78H] mov r8d, edi call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong] lea ecx, [rbx-01H] test ecx, ecx jl SHORT G_M16662_IG20 cmp ebx, ecx jle SHORT G_M16662_IG19 ;; size=28 bbWeight=0.50 PerfScore 3.75 G_M16662_IG17: add rax, -2 mov r8d, ecx movzx r8, word ptr [rbp+2*r8+0CH] mov word ptr [rax], r8w dec ecx jns SHORT G_M16662_IG17 ;; size=21 bbWeight=3.96 PerfScore 18.81 G_M16662_IG18: jmp SHORT G_M16662_IG20 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M16662_IG19: add rax, -2 cmp ecx, ebx jae G_M16662_IG26 mov r8d, ecx movzx r8, word ptr [rbp+2*r8+0CH] mov word ptr [rax], r8w dec ecx jns SHORT G_M16662_IG19 ;; size=29 bbWeight=0.04 PerfScore 0.24 G_M16662_IG20: xor ecx, ecx mov bword ptr [rsp+98H], rcx mov eax, 1 ;; size=15 bbWeight=0.50 PerfScore 0.75 G_M16662_IG21: jmp SHORT G_M16662_IG24 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M16662_IG22: mov rcx, rdi mov r8, rbx mov qword ptr [rsp+68H], rcx mov qword ptr [rsp+70H], r8 mov bword ptr [rsp+48H], r15 mov dword ptr [rsp+50H], r12d lea rcx, [rsp+68H] lea r8, [rsp+48H] mov r9, rsi mov edx, -1 call [System.Number:TryUInt128ToDecStr(System.UInt128,int,System.Span`1[ushort],byref):bool] jmp SHORT G_M16662_IG24 ;; size=52 bbWeight=0.50 PerfScore 5.50 G_M16662_IG23: mov qword ptr [rsp+38H], rdi mov qword ptr [rsp+40H], rbx mov bword ptr [rsp+28H], rbp mov dword ptr [rsp+30H], r14d mov bword ptr [rsp+48H], r15 mov dword ptr [rsp+50H], r12d mov bword ptr [rsp+20H], rsi lea rcx, [rsp+38H] lea rdx, [rsp+28H] lea r9, [rsp+48H] call [System.Number:<TryFormatInt128>g__TryFormatInt128Slow|50_0(System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ushort],byref):bool] ;; size=56 bbWeight=0.50 PerfScore 5.75 G_M16662_IG24: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M16662_IG25: add rsp, 160 pop rbx pop rbp pop rsi pop rdi pop r12 pop r14 pop r15 ret ;; size=18 bbWeight=1 PerfScore 4.75 G_M16662_IG26: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; Total bytes of code 762, prolog size 93, PerfScore 232.58, instruction count 180, allocated bytes for code 762 (MethodHash=d514bee9) for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this ; ============================================================
Changed text
Open file
; Assembly listing for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this G_M16662_IG01: push r15 push r14 push r12 push rdi push rsi push rbp push rbx sub rsp, 160 xor eax, eax mov qword ptr [rsp+28H], rax vxorps xmm4, xmm4 vmovdqa xmmword ptr [rsp+30H], xmm4 mov rax, -96 vmovdqa xmmword ptr [rsp+rax+A0H], xmm4 vmovdqa xmmword ptr [rsp+rax+B0H], xmm4 vmovdqa xmmword ptr [rsp+rax+C0H], xmm4 add rax, 48 jne SHORT -5 instr mov rsi, r8 mov r8, gword ptr [rsp+100H] ;; size=93 bbWeight=1 PerfScore 19.58 G_M16662_IG02: mov rdi, qword ptr [rcx] mov rbx, qword ptr [rcx+08H] mov rbp, bword ptr [r9] mov r14d, dword ptr [r9+08H] mov r15, bword ptr [rdx] mov r12d, dword ptr [rdx+08H] test r14d, r14d jne G_M16662_IG23 ;; size=30 bbWeight=1 PerfScore 13.25 G_M16662_IG03: test rbx, rbx jge G_M16662_IG22 test r8, r8 je SHORT G_M16662_IG04 mov rcx, r8 call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M16662_IG05 align [12 bytes for IG17] ;; size=37 bbWeight=0.50 PerfScore 3.88 G_M16662_IG04: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] ;; size=6 bbWeight=0.50 PerfScore 1.50 G_M16662_IG05: mov rbp, gword ptr [rax+28H] mov r14, rdi neg r14 jne SHORT G_M16662_IG06 xor edx, edx jmp SHORT G_M16662_IG07 ;; size=16 bbWeight=0.50 PerfScore 2.88 G_M16662_IG06: mov edx, 1 ;; size=5 bbWeight=0.50 PerfScore 0.12 G_M16662_IG07: xor edi, edi sub rdi, rbx sub rdi, rdx mov qword ptr [rsp+88H], r14 mov qword ptr [rsp+90H], rdi test rdi, rdi jne SHORT G_M16662_IG08 mov rdx, qword ptr [rsp+88H] or rdx, 1 lzcnt rdx, rdx xor edx, 63 movsxd rdx, edx mov r8, 0xD1FFAB1E ; static handle movzx rax, byte ptr [rdx+r8] mov rdx, qword ptr [rsp+88H] lea r8d, [8*rax] mov rcx, 0xD1FFAB1E ; static handle cmp rdx, qword ptr [r8+rcx] setb dl movzx rdx, dl sub eax, edx jmp G_M16662_IG11 ;; size=110 bbWeight=0.50 PerfScore 9.12 G_M16662_IG08: mov ebx, 20 cmp rdi, 5 jbe SHORT G_M16662_IG09 vmovupd xmm0, xmmword ptr [rsp+88H] vmovupd xmmword ptr [rsp+68H], xmm0 mov rdx, 0xD1FFAB1E mov qword ptr [rsp+58H], rdx mov qword ptr [rsp+60H], 5 lea rdx, [rsp+68H] lea r8, [rsp+58H] lea rcx, bword ptr [rsp+88H] call [System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128] mov rcx, qword ptr [rsp+88H] call [System.Buffers.Text.FormattingHelpers:CountDigits(ulong):int] lea ebx, [rax+14H] jmp SHORT G_M16662_IG10 ;; size=95 bbWeight=0.50 PerfScore 9.38 G_M16662_IG09: cmp rdi, 5 jne SHORT G_M16662_IG10 mov rcx, 0xD1FFAB1E cmp qword ptr [rsp+88H], rcx jb SHORT G_M16662_IG10 mov ebx, 21 ;; size=31 bbWeight=0.50 PerfScore 2.38 G_M16662_IG10: mov eax, ebx ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M16662_IG11: cmp eax, 1 jle SHORT G_M16662_IG12 jmp SHORT G_M16662_IG13 ;; size=7 bbWeight=0.50 PerfScore 1.62 G_M16662_IG12: mov eax, 1 ;; size=5 bbWeight=0.50 PerfScore 0.12 G_M16662_IG13: mov ebx, dword ptr [rbp+08H] add eax, ebx cmp eax, r12d jle SHORT G_M16662_IG14 xor eax, eax mov dword ptr [rsi], eax jmp G_M16662_IG21 ;; size=19 bbWeight=0.50 PerfScore 3.38 G_M16662_IG14: mov dword ptr [rsi], eax mov bword ptr [rsp+98H], r15 movsxd rcx, eax lea rsi, [r15+2*rcx] mov qword ptr [rsp+78H], r14 mov qword ptr [rsp+80H], rdi mov edi, 1 cmp qword ptr [rsp+80H], 0 je SHORT G_M16662_IG16 ;; size=46 bbWeight=0.50 PerfScore 4.00 G_M16662_IG15: lea rcx, bword ptr [rsp+78H] call [System.Number:Int128DivMod1E19(byref):ulong] mov rdx, rax mov rcx, rsi mov r8d, 19 call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong] mov rsi, rax add edi, -19 cmp qword ptr [rsp+80H], 0 jne SHORT G_M16662_IG15 ;; size=46 bbWeight=4 PerfScore 43.00 G_M16662_IG16: mov rcx, rsi mov rdx, qword ptr [rsp+78H] mov r8d, edi call [System.Number:UInt64ToDecChars(ulong,ulong,int):ulong] lea ecx, [rbx-01H] test ecx, ecx jl SHORT G_M16662_IG20 cmp ebx, ecx jle SHORT G_M16662_IG19 ;; size=28 bbWeight=0.50 PerfScore 3.75 G_M16662_IG17: add rax, -2 mov r8d, ecx movzx r8, word ptr [rbp+2*r8+0CH] mov word ptr [rax], r8w dec ecx jns SHORT G_M16662_IG17 ;; size=21 bbWeight=3.96 PerfScore 18.81 G_M16662_IG18: jmp SHORT G_M16662_IG20 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M16662_IG19: add rax, -2 cmp ecx, ebx jae G_M16662_IG26 mov r8d, ecx movzx r8, word ptr [rbp+2*r8+0CH] mov word ptr [rax], r8w dec ecx jns SHORT G_M16662_IG19 ;; size=29 bbWeight=0.04 PerfScore 0.24 G_M16662_IG20: xor ecx, ecx mov bword ptr [rsp+98H], rcx mov eax, 1 ;; size=15 bbWeight=0.50 PerfScore 0.75 G_M16662_IG21: jmp SHORT G_M16662_IG24 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M16662_IG22: mov rcx, rdi mov r8, rbx mov qword ptr [rsp+68H], rcx mov qword ptr [rsp+70H], r8 mov bword ptr [rsp+48H], r15 mov dword ptr [rsp+50H], r12d lea rcx, [rsp+68H] lea r8, [rsp+48H] mov r9, rsi mov edx, -1 call [System.Number:TryUInt128ToDecStr(System.UInt128,int,System.Span`1[ushort],byref):bool] jmp SHORT G_M16662_IG24 ;; size=52 bbWeight=0.50 PerfScore 5.50 G_M16662_IG23: mov qword ptr [rsp+38H], rdi mov qword ptr [rsp+40H], rbx mov bword ptr [rsp+28H], rbp mov dword ptr [rsp+30H], r14d mov bword ptr [rsp+48H], r15 mov dword ptr [rsp+50H], r12d mov bword ptr [rsp+20H], rsi lea rcx, [rsp+38H] lea rdx, [rsp+28H] lea r9, [rsp+48H] call [System.Number:<TryFormatInt128>g__TryFormatInt128Slow|50_0(System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ushort],byref):bool] ;; size=56 bbWeight=0.50 PerfScore 5.75 G_M16662_IG24: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M16662_IG25: add rsp, 160 pop rbx pop rbp pop rsi pop rdi pop r12 pop r14 pop r15 ret ;; size=18 bbWeight=1 PerfScore 4.75 G_M16662_IG26: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; Total bytes of code 778, prolog size 93, PerfScore 233.93, instruction count 182, allocated bytes for code 778 (MethodHash=d514bee9) for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):bool:this ; ============================================================
Find difference