Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
Redundant_OR
Creato
3 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
21 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
164 linee
Copia tutti
14 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
161 linee
Copia tutti
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX
```assembly
```assembly
; System.Text.Perf_Ascii.Equals_Chars()
; System.Text.Perf_Ascii.Equals_Chars()
sub rsp,28
sub rsp,28
mov r8,[rcx+20]
mov r8,[rcx+20]
test r8,r8
test r8,r8
je short M00_L04
je short M00_L04
lea rdx,[r8+10]
lea rdx,[r8+10]
mov eax,[r8+8]
mov eax,[r8+8]
M00_L00:
M00_L00:
mov r8,[rcx+28]
mov r8,[rcx+28]
test r8,r8
test r8,r8
je short M00_L02
je short M00_L02
lea rcx,[r8+10]
lea rcx,[r8+10]
mov r10d,[r8+8]
mov r10d,[r8+8]
M00_L01:
M00_L01:
mov [rsp+20],rcx
mov [rsp+20],rcx
cmp eax,r10d
cmp eax,r10d
jne short M00_L05
jne short M00_L05
mov r8d,r10d
mov r8d,r10d
mov rcx,rdx
mov rcx,rdx
mov rdx,[rsp+20]
mov rdx,[rsp+20]
Copia
Copiato
Copia
Copiato
call qword ptr [7FFB99B
C
E1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
call qword ptr [7FFB99B
F
E1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
jmp short M00_L03
jmp short M00_L03
M00_L02:
M00_L02:
xor ecx,ecx
xor ecx,ecx
xor r10d,r10d
xor r10d,r10d
jmp short M00_L01
jmp short M00_L01
M00_L03:
M00_L03:
add rsp,28
add rsp,28
ret
ret
M00_L04:
M00_L04:
xor edx,edx
xor edx,edx
xor eax,eax
xor eax,eax
jmp short M00_L00
jmp short M00_L00
M00_L05:
M00_L05:
xor eax,eax
xor eax,eax
jmp short M00_L03
jmp short M00_L03
; Total bytes of code 89
; Total bytes of code 89
```
```
```assembly
```assembly
; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr)
sub rsp,98
sub rsp,98
vzeroupper
vzeroupper
cmp r8,8
cmp r8,8
jae short M01_L03
jae short M01_L03
xor eax,eax
xor eax,eax
test r8,r8
test r8,r8
jbe short M01_L01
jbe short M01_L01
M01_L00:
M01_L00:
movzx r10d,word ptr [rcx+rax*2]
movzx r10d,word ptr [rcx+rax*2]
movzx r9d,word ptr [rdx+rax*2]
movzx r9d,word ptr [rdx+rax*2]
cmp r10d,r9d
cmp r10d,r9d
jne near ptr M01_L10
jne near ptr M01_L10
Copia
Copiato
Copia
Copiato
or r10d,r9d
cmp r10d,7F
cmp r10d,7F
ja near ptr M01_L10
ja near ptr M01_L10
inc rax
inc rax
cmp rax,r8
cmp rax,r8
jb short M01_L00
jb short M01_L00
M01_L01:
M01_L01:
mov eax,1
mov eax,1
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
M01_L02:
M01_L02:
movzx eax,cl
movzx eax,cl
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
M01_L03:
M01_L03:
cmp r8,10
cmp r8,10
jb near ptr M01_L08
jb near ptr M01_L08
mov rax,rcx
mov rax,rcx
lea r10,[rdx+r8*2-20]
lea r10,[rdx+r8*2-20]
M01_L04:
M01_L04:
vmovups ymm0,[rax]
vmovups ymm0,[rax]
vmovups [rsp+60],ymm0
vmovups [rsp+60],ymm0
vmovups ymm0,[rdx]
vmovups ymm0,[rdx]
vmovups [rsp+40],ymm0
vmovups [rsp+40],ymm0
vmovups xmm0,[rsp+60]
vmovups xmm0,[rsp+60]
vpcmpeqw xmm0,xmm0,[rsp+40]
vpcmpeqw xmm0,xmm0,[rsp+40]
vpmovmskb r9d,xmm0
vpmovmskb r9d,xmm0
cmp r9d,0FFFF
cmp r9d,0FFFF
jne near ptr M01_L10
jne near ptr M01_L10
vmovups xmm0,[rsp+70]
vmovups xmm0,[rsp+70]
vpcmpeqw xmm0,xmm0,[rsp+50]
vpcmpeqw xmm0,xmm0,[rsp+50]
vpmovmskb r9d,xmm0
vpmovmskb r9d,xmm0
cmp r9d,0FFFF
cmp r9d,0FFFF
setne r9b
setne r9b
movzx r9d,r9b
movzx r9d,r9b
test r9d,r9d
test r9d,r9d
jne near ptr M01_L10
jne near ptr M01_L10
vmovups ymm0,[rsp+60]
vmovups ymm0,[rsp+60]
Copia
Copiato
Copia
Copiato
vptest ymm0,ymmword ptr [7FFB996
39B8
0]
vptest ymm0,ymmword ptr [7FFB996
69B4
0]
jne near ptr M01_L10
jne near ptr M01_L10
add rdx,20
add rdx,20
add rax,20
add rax,20
cmp rdx,r10
cmp rdx,r10
jbe short M01_L04
jbe short M01_L04
test r8b,0F
test r8b,0F
je near ptr M01_L01
je near ptr M01_L01
vmovups ymm0,[rcx+r8*2-20]
vmovups ymm0,[rcx+r8*2-20]
vmovups [rsp+20],ymm0
vmovups [rsp+20],ymm0
vmovups ymm0,[r10]
vmovups ymm0,[r10]
vmovups [rsp],ymm0
vmovups [rsp],ymm0
vmovups xmm0,[rsp+20]
vmovups xmm0,[rsp+20]
vpcmpeqw xmm0,xmm0,[rsp]
vpcmpeqw xmm0,xmm0,[rsp]
vpmovmskb ecx,xmm0
vpmovmskb ecx,xmm0
cmp ecx,0FFFF
cmp ecx,0FFFF
jne short M01_L05
jne short M01_L05
vmovups xmm0,[rsp+30]
vmovups xmm0,[rsp+30]
vpcmpeqw xmm0,xmm0,[rsp+10]
vpcmpeqw xmm0,xmm0,[rsp+10]
vpmovmskb r8d,xmm0
vpmovmskb r8d,xmm0
cmp r8d,0FFFF
cmp r8d,0FFFF
setne al
setne al
movzx eax,al
movzx eax,al
test eax,eax
test eax,eax
jne short M01_L05
jne short M01_L05
vmovups ymm0,[rsp+20]
vmovups ymm0,[rsp+20]
Copia
Copiato
Copia
Copiato
vptest ymm0,ymmword ptr [7FFB996
39B8
0]
vptest ymm0,ymmword ptr [7FFB996
69B4
0]
je short M01_L06
je short M01_L06
M01_L05:
M01_L05:
xor ecx,ecx
xor ecx,ecx
jmp short M01_L07
jmp short M01_L07
M01_L06:
M01_L06:
mov ecx,1
mov ecx,1
M01_L07:
M01_L07:
jmp near ptr M01_L02
jmp near ptr M01_L02
M01_L08:
M01_L08:
lea rax,[rcx+r8*2-10]
lea rax,[rcx+r8*2-10]
lea r10,[rdx+r8*2-10]
lea r10,[rdx+r8*2-10]
M01_L09:
M01_L09:
vmovups xmm0,[rcx]
vmovups xmm0,[rcx]
Copia
Copiato
Copia
Copiato
vmovups xmm1,[rdx]
vpcmpeqw xmm
1
,xmm0,
[rdx]
vpcmpeqw xmm
2
,xmm0,
xmm1
vpmovmskb r9d,xmm
1
vpmovmskb r9d,xmm
2
cmp r9d,0FFFF
cmp r9d,0FFFF
jne short M01_L10
jne short M01_L10
Copia
Copiato
Copia
Copiato
vpor xmm0,xmm0,xmm1
vptest xmm0,xmmword ptr [7FFB996
69B4
0]
vptest xmm0,xmmword ptr [7FFB996
39B8
0]
jne short M01_L10
jne short M01_L10
add rdx,10
add rdx,10
add rcx,10
add rcx,10
cmp rdx,r10
cmp rdx,r10
jbe short M01_L09
jbe short M01_L09
test r8b,7
test r8b,7
je near ptr M01_L01
je near ptr M01_L01
vmovups xmm0,[rax]
vmovups xmm0,[rax]
Copia
Copiato
Copia
Copiato
vmovups xmm1,[r10]
vpcmpeqw xmm
1
,xmm0,
[r10]
vpcmpeqw xmm
2
,xmm0,
xmm1
vpmovmskb eax,xmm
1
vpmovmskb eax,xmm
2
cmp eax,0FFFF
cmp eax,0FFFF
jne short M01_L10
jne short M01_L10
Copia
Copiato
Copia
Copiato
vpor xmm0,xmm0,xmm1
vptest xmm0,xmmword ptr [7FFB996
69B4
0]
vptest xmm0,xmmword ptr [7FFB996
39B8
0]
je near ptr M01_L01
je near ptr M01_L01
M01_L10:
M01_L10:
xor eax,eax
xor eax,eax
vzeroupper
vzeroupper
add rsp,98
add rsp,98
ret
ret
Copia
Copiato
Copia
Copiato
; Total bytes of code
483
; Total bytes of code
464
```
```
Copia
Copiato
Copia
Copiato
Diff salvati
Testo originale
Apri file
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX ```assembly ; System.Text.Perf_Ascii.Equals_Chars() sub rsp,28 mov r8,[rcx+20] test r8,r8 je short M00_L04 lea rdx,[r8+10] mov eax,[r8+8] M00_L00: mov r8,[rcx+28] test r8,r8 je short M00_L02 lea rcx,[r8+10] mov r10d,[r8+8] M00_L01: mov [rsp+20],rcx cmp eax,r10d jne short M00_L05 mov r8d,r10d mov rcx,rdx mov rdx,[rsp+20] call qword ptr [7FFB99BCE1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) jmp short M00_L03 M00_L02: xor ecx,ecx xor r10d,r10d jmp short M00_L01 M00_L03: add rsp,28 ret M00_L04: xor edx,edx xor eax,eax jmp short M00_L00 M00_L05: xor eax,eax jmp short M00_L03 ; Total bytes of code 89 ``` ```assembly ; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) sub rsp,98 vzeroupper cmp r8,8 jae short M01_L03 xor eax,eax test r8,r8 jbe short M01_L01 M01_L00: movzx r10d,word ptr [rcx+rax*2] movzx r9d,word ptr [rdx+rax*2] cmp r10d,r9d jne near ptr M01_L10 or r10d,r9d cmp r10d,7F ja near ptr M01_L10 inc rax cmp rax,r8 jb short M01_L00 M01_L01: mov eax,1 vzeroupper add rsp,98 ret M01_L02: movzx eax,cl vzeroupper add rsp,98 ret M01_L03: cmp r8,10 jb near ptr M01_L08 mov rax,rcx lea r10,[rdx+r8*2-20] M01_L04: vmovups ymm0,[rax] vmovups [rsp+60],ymm0 vmovups ymm0,[rdx] vmovups [rsp+40],ymm0 vmovups xmm0,[rsp+60] vpcmpeqw xmm0,xmm0,[rsp+40] vpmovmskb r9d,xmm0 cmp r9d,0FFFF jne near ptr M01_L10 vmovups xmm0,[rsp+70] vpcmpeqw xmm0,xmm0,[rsp+50] vpmovmskb r9d,xmm0 cmp r9d,0FFFF setne r9b movzx r9d,r9b test r9d,r9d jne near ptr M01_L10 vmovups ymm0,[rsp+60] vptest ymm0,ymmword ptr [7FFB99639B80] jne near ptr M01_L10 add rdx,20 add rax,20 cmp rdx,r10 jbe short M01_L04 test r8b,0F je near ptr M01_L01 vmovups ymm0,[rcx+r8*2-20] vmovups [rsp+20],ymm0 vmovups ymm0,[r10] vmovups [rsp],ymm0 vmovups xmm0,[rsp+20] vpcmpeqw xmm0,xmm0,[rsp] vpmovmskb ecx,xmm0 cmp ecx,0FFFF jne short M01_L05 vmovups xmm0,[rsp+30] vpcmpeqw xmm0,xmm0,[rsp+10] vpmovmskb r8d,xmm0 cmp r8d,0FFFF setne al movzx eax,al test eax,eax jne short M01_L05 vmovups ymm0,[rsp+20] vptest ymm0,ymmword ptr [7FFB99639B80] je short M01_L06 M01_L05: xor ecx,ecx jmp short M01_L07 M01_L06: mov ecx,1 M01_L07: jmp near ptr M01_L02 M01_L08: lea rax,[rcx+r8*2-10] lea r10,[rdx+r8*2-10] M01_L09: vmovups xmm0,[rcx] vmovups xmm1,[rdx] vpcmpeqw xmm2,xmm0,xmm1 vpmovmskb r9d,xmm2 cmp r9d,0FFFF jne short M01_L10 vpor xmm0,xmm0,xmm1 vptest xmm0,xmmword ptr [7FFB99639B80] jne short M01_L10 add rdx,10 add rcx,10 cmp rdx,r10 jbe short M01_L09 test r8b,7 je near ptr M01_L01 vmovups xmm0,[rax] vmovups xmm1,[r10] vpcmpeqw xmm2,xmm0,xmm1 vpmovmskb eax,xmm2 cmp eax,0FFFF jne short M01_L10 vpor xmm0,xmm0,xmm1 vptest xmm0,xmmword ptr [7FFB99639B80] je near ptr M01_L01 M01_L10: xor eax,eax vzeroupper add rsp,98 ret ; Total bytes of code 483 ```
Testo modificato
Apri file
## .NET 8.0.0 (42.42.42.42424), X64 RyuJIT AVX ```assembly ; System.Text.Perf_Ascii.Equals_Chars() sub rsp,28 mov r8,[rcx+20] test r8,r8 je short M00_L04 lea rdx,[r8+10] mov eax,[r8+8] M00_L00: mov r8,[rcx+28] test r8,r8 je short M00_L02 lea rcx,[r8+10] mov r10d,[r8+8] M00_L01: mov [rsp+20],rcx cmp eax,r10d jne short M00_L05 mov r8d,r10d mov rcx,rdx mov rdx,[rsp+20] call qword ptr [7FFB99BFE1A8]; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) jmp short M00_L03 M00_L02: xor ecx,ecx xor r10d,r10d jmp short M00_L01 M00_L03: add rsp,28 ret M00_L04: xor edx,edx xor eax,eax jmp short M00_L00 M00_L05: xor eax,eax jmp short M00_L03 ; Total bytes of code 89 ``` ```assembly ; System.Text.Ascii.Equals[[System.UInt16, System.Private.CoreLib],[System.UInt16, System.Private.CoreLib],[System.Text.Ascii+PlainLoader`1[[System.UInt16, System.Private.CoreLib]], System.Private.CoreLib]](UInt16 ByRef, UInt16 ByRef, UIntPtr) sub rsp,98 vzeroupper cmp r8,8 jae short M01_L03 xor eax,eax test r8,r8 jbe short M01_L01 M01_L00: movzx r10d,word ptr [rcx+rax*2] movzx r9d,word ptr [rdx+rax*2] cmp r10d,r9d jne near ptr M01_L10 cmp r10d,7F ja near ptr M01_L10 inc rax cmp rax,r8 jb short M01_L00 M01_L01: mov eax,1 vzeroupper add rsp,98 ret M01_L02: movzx eax,cl vzeroupper add rsp,98 ret M01_L03: cmp r8,10 jb near ptr M01_L08 mov rax,rcx lea r10,[rdx+r8*2-20] M01_L04: vmovups ymm0,[rax] vmovups [rsp+60],ymm0 vmovups ymm0,[rdx] vmovups [rsp+40],ymm0 vmovups xmm0,[rsp+60] vpcmpeqw xmm0,xmm0,[rsp+40] vpmovmskb r9d,xmm0 cmp r9d,0FFFF jne near ptr M01_L10 vmovups xmm0,[rsp+70] vpcmpeqw xmm0,xmm0,[rsp+50] vpmovmskb r9d,xmm0 cmp r9d,0FFFF setne r9b movzx r9d,r9b test r9d,r9d jne near ptr M01_L10 vmovups ymm0,[rsp+60] vptest ymm0,ymmword ptr [7FFB99669B40] jne near ptr M01_L10 add rdx,20 add rax,20 cmp rdx,r10 jbe short M01_L04 test r8b,0F je near ptr M01_L01 vmovups ymm0,[rcx+r8*2-20] vmovups [rsp+20],ymm0 vmovups ymm0,[r10] vmovups [rsp],ymm0 vmovups xmm0,[rsp+20] vpcmpeqw xmm0,xmm0,[rsp] vpmovmskb ecx,xmm0 cmp ecx,0FFFF jne short M01_L05 vmovups xmm0,[rsp+30] vpcmpeqw xmm0,xmm0,[rsp+10] vpmovmskb r8d,xmm0 cmp r8d,0FFFF setne al movzx eax,al test eax,eax jne short M01_L05 vmovups ymm0,[rsp+20] vptest ymm0,ymmword ptr [7FFB99669B40] je short M01_L06 M01_L05: xor ecx,ecx jmp short M01_L07 M01_L06: mov ecx,1 M01_L07: jmp near ptr M01_L02 M01_L08: lea rax,[rcx+r8*2-10] lea r10,[rdx+r8*2-10] M01_L09: vmovups xmm0,[rcx] vpcmpeqw xmm1,xmm0,[rdx] vpmovmskb r9d,xmm1 cmp r9d,0FFFF jne short M01_L10 vptest xmm0,xmmword ptr [7FFB99669B40] jne short M01_L10 add rdx,10 add rcx,10 cmp rdx,r10 jbe short M01_L09 test r8b,7 je near ptr M01_L01 vmovups xmm0,[rax] vpcmpeqw xmm1,xmm0,[r10] vpmovmskb eax,xmm1 cmp eax,0FFFF jne short M01_L10 vptest xmm0,xmmword ptr [7FFB99669B40] je near ptr M01_L01 M01_L10: xor eax,eax vzeroupper add rsp,98 ret ; Total bytes of code 464 ```
Trovare la differenza