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 unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
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
2 months ago
Diff never expires
Clear
Export
Share
Explain
123 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
110 lines
Copy
82 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
75 lines
Copy
Copy
Copied
Copy
Copied
; Method Program:DangerousMakeOnesComplement
(System.Span`1[nuint]) (FullOpts)
; Method Program:DangerousMakeOnesComplement
2
(System.Span`1[nuint]) (FullOpts)
G_
M50784
_IG01: ;; offset=0x0000
G_
M34898
_IG01: ;; offset=0x0000
sub rsp, 40
;; size=
0
bbWeight=1 PerfScore 0.
00
;; size=
4
bbWeight=1 PerfScore 0.
25
Copy
Copied
Copy
Copied
G_
M50784
_IG02: ;; offset=0x000
4
G_
M34898
_IG02: ;; offset=0x000
0
mov rax, bword ptr [rcx]
mov rax, bword ptr [rcx]
mov ecx, dword ptr [rcx+0x08]
mov ecx, dword ptr [rcx+0x08]
Copy
Copied
Copy
Copied
mov edx, ecx
xor r8d, r8d
cmp ecx, 8
cmp ecx, 8
Copy
Copied
Copy
Copied
jl SHORT G_
M50784
_IG04
jl SHORT G_
M34898
_IG04
align [
12
bytes for IG03]
align [
5
bytes for IG03]
;; size=
28
bbWeight=1 PerfScore
6.00
;; size=
16
bbWeight=1 PerfScore
5.50
Copy
Copied
Copy
Copied
G_
M50784
_IG03: ;; offset=0x00
20
G_
M34898
_IG03: ;; offset=0x00
10
movsxd rcx, r8d
vpternlogq zmm0, zmm0, zmmword ptr [rax
], 85
vpternlogq zmm0, zmm0, zmmword ptr [rax
+8*rcx
], 85
vmovups zmmword ptr [rax
], zmm0
vmovups zmmword ptr [rax
+8*rcx
], zmm0
add
rax, 64
add
r8d, 8
add
ecx,
-8
mov ecx, edx
sub
ecx,
r8d
cmp ecx, 8
cmp ecx, 8
Copy
Copied
Copy
Copied
jge SHORT G_
M50784
_IG03
jge SHORT G_
M34898
_IG03
;; size=
32
bbWeight=4 PerfScore
37
.00
;; size=
25
bbWeight=4 PerfScore
35
.00
Copy
Copied
Copy
Copied
G_
M50784
_IG04: ;; offset=0x00
40
G_
M34898
_IG04: ;; offset=0x00
29
mov ecx, edx
sub ecx, r8d
cmp ecx, 4
cmp ecx, 4
Copy
Copied
Copy
Copied
jl SHORT G_
M50784
_IG06
jl SHORT G_
M34898
_IG06
align [
6
bytes for IG05]
align [
2
bytes for IG05]
;; size=
16
bbWeight=0.50 PerfScore
1.00
;; size=
7
bbWeight=0.50 PerfScore
0.75
Copy
Copied
Copy
Copied
G_
M50784
_IG05: ;; offset=0x00
50
G_
M34898
_IG05: ;; offset=0x00
30
movsxd rcx, r8d
vpternlogq ymm0, ymm0, ymmword ptr [rax
], 85
vpternlogq ymm0, ymm0, ymmword ptr [rax
+8*rcx
], 85
vmovups ymmword ptr [rax
], ymm0
vmovups ymmword ptr [rax
+8*rcx
], ymm0
add
rax, 32
add
r8d, 4
add
ecx,
-4
mov ecx, edx
sub
ecx,
r8d
cmp ecx, 4
cmp ecx, 4
Copy
Copied
Copy
Copied
jge SHORT G_
M50784
_IG05
jge SHORT G_
M34898
_IG05
;; size=
30
bbWeight=4 PerfScore
29
.00
;; size=
23
bbWeight=4 PerfScore
27
.00
Copy
Copied
Copy
Copied
G_
M50784
_IG06: ;; offset=0x00
6E
G_
M34898
_IG06: ;; offset=0x00
47
mov ecx, edx
sub ecx, r8d
cmp ecx, 2
cmp ecx, 2
Copy
Copied
Copy
Copied
jl SHORT G_
M50784
_IG08
jl SHORT G_
M34898
_IG08
align [
8
bytes for IG07]
align [
4
bytes for IG07]
;; size=
18
bbWeight=0.50 PerfScore
1.00
;; size=
9
bbWeight=0.50 PerfScore
0.75
Copy
Copied
Copy
Copied
G_
M50784
_IG07: ;; offset=0x00
80
G_
M34898
_IG07: ;; offset=0x00
50
movsxd rcx, r8d
vpternlogq xmm0, xmm0, xmmword ptr [rax
], 85
vpternlogq xmm0, xmm0, xmmword ptr [rax
+8*rcx
], 85
vmovups xmmword ptr [rax
], xmm0
vmovups xmmword ptr [rax
+8*rcx
], xmm0
add
rax, 16
add
r8d, 2
add
ecx,
-2
mov ecx, edx
sub
ecx,
r8d
cmp ecx, 2
cmp ecx, 2
Copy
Copied
Copy
Copied
jge SHORT G_
M50784
_IG07
jge SHORT G_
M34898
_IG07
;; size=
30
bbWeight=4 PerfScore
25
.00
;; size=
23
bbWeight=4 PerfScore
23
.00
Copy
Copied
Copy
Copied
G_
M50784
_IG08: ;; offset=0x00
9E
G_
M34898
_IG08: ;; offset=0x00
67
cmp
r8d
, e
d
x
test
ecx
, e
c
x
j
g
e
SHORT G_
M50784
_IG11
j
e
SHORT G_
M34898
_IG11
;; size=
5
bbWeight=
0.50
PerfScore
0.62
;; size=
4
bbWeight=
1
PerfScore
1.25
Copy
Copied
Copy
Copied
G_
M50784
_IG09: ;; offset=0x00
A3
G_
M34898
_IG09: ;; offset=0x00
6B
test r8d, r8d
xor
edx, edx
jl
SHORT G_M50784_IG12
align [0 bytes for IG10]
align [0 bytes for IG10]
Copy
Copied
Copy
Copied
;; size=
5
bbWeight=0.
25
PerfScore 0.
31
;; size=
2
bbWeight=0.
50
PerfScore 0.
12
Copy
Copied
Copy
Copied
G_
M50784
_IG10: ;; offset=0x00
A8
G_
M34898
_IG10: ;; offset=0x00
6D
mov ecx, r8d
not qword ptr [rax+
rd
x]
not qword ptr [rax+
8*rc
x]
add
r
dx, 8
inc
r
8d
dec
ec
x
cmp
r8d, ed
x
jne
SHORT G_
M34898
_IG10
jl
SHORT G_
M50784
_IG10
;; size=
12
bbWeight=3.96 PerfScore
17.82
;; size=
15
bbWeight=3.96 PerfScore
18.81
Copy
Copied
Copy
Copied
G_
M50784
_IG11: ;; offset=0x00
B7
G_
M34898
_IG11: ;; offset=0x00
79
vzeroupper
vzeroupper
Copy
Copied
Copy
Copied
add rsp, 40
ret
ret
Copy
Copied
Copy
Copied
;; size=
8
bbWeight=1 PerfScore 2.
25
;; size=
4
bbWeight=1 PerfScore 2.
00
; Total bytes of code:
125
G_M50784_IG12: ;; offset=0x00BF
cmp r8d, edx
jae SHORT G_M50784_IG13
mov ecx, r8d
mov r10d, r8d
mov r10, qword ptr [rax+8*r10]
not r10
mov qword ptr [rax+8*rcx], r10
inc r8d
cmp r8d, edx
jl SHORT G_M50784_IG12
jmp SHORT G_M50784_IG11
;; size=32 bbWeight=0.04 PerfScore 0.34
G_M50784_IG13: ;; offset=0x00DF
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
; Total bytes of code:
229
Saved diffs
Original text
Open file
; Method Program:DangerousMakeOnesComplement(System.Span`1[nuint]) (FullOpts) G_M50784_IG01: ;; offset=0x0000 sub rsp, 40 ;; size=4 bbWeight=1 PerfScore 0.25 G_M50784_IG02: ;; offset=0x0004 mov rax, bword ptr [rcx] mov ecx, dword ptr [rcx+0x08] mov edx, ecx xor r8d, r8d cmp ecx, 8 jl SHORT G_M50784_IG04 align [12 bytes for IG03] ;; size=28 bbWeight=1 PerfScore 6.00 G_M50784_IG03: ;; offset=0x0020 movsxd rcx, r8d vpternlogq zmm0, zmm0, zmmword ptr [rax+8*rcx], 85 vmovups zmmword ptr [rax+8*rcx], zmm0 add r8d, 8 mov ecx, edx sub ecx, r8d cmp ecx, 8 jge SHORT G_M50784_IG03 ;; size=32 bbWeight=4 PerfScore 37.00 G_M50784_IG04: ;; offset=0x0040 mov ecx, edx sub ecx, r8d cmp ecx, 4 jl SHORT G_M50784_IG06 align [6 bytes for IG05] ;; size=16 bbWeight=0.50 PerfScore 1.00 G_M50784_IG05: ;; offset=0x0050 movsxd rcx, r8d vpternlogq ymm0, ymm0, ymmword ptr [rax+8*rcx], 85 vmovups ymmword ptr [rax+8*rcx], ymm0 add r8d, 4 mov ecx, edx sub ecx, r8d cmp ecx, 4 jge SHORT G_M50784_IG05 ;; size=30 bbWeight=4 PerfScore 29.00 G_M50784_IG06: ;; offset=0x006E mov ecx, edx sub ecx, r8d cmp ecx, 2 jl SHORT G_M50784_IG08 align [8 bytes for IG07] ;; size=18 bbWeight=0.50 PerfScore 1.00 G_M50784_IG07: ;; offset=0x0080 movsxd rcx, r8d vpternlogq xmm0, xmm0, xmmword ptr [rax+8*rcx], 85 vmovups xmmword ptr [rax+8*rcx], xmm0 add r8d, 2 mov ecx, edx sub ecx, r8d cmp ecx, 2 jge SHORT G_M50784_IG07 ;; size=30 bbWeight=4 PerfScore 25.00 G_M50784_IG08: ;; offset=0x009E cmp r8d, edx jge SHORT G_M50784_IG11 ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M50784_IG09: ;; offset=0x00A3 test r8d, r8d jl SHORT G_M50784_IG12 align [0 bytes for IG10] ;; size=5 bbWeight=0.25 PerfScore 0.31 G_M50784_IG10: ;; offset=0x00A8 mov ecx, r8d not qword ptr [rax+8*rcx] inc r8d cmp r8d, edx jl SHORT G_M50784_IG10 ;; size=15 bbWeight=3.96 PerfScore 18.81 G_M50784_IG11: ;; offset=0x00B7 vzeroupper add rsp, 40 ret ;; size=8 bbWeight=1 PerfScore 2.25 G_M50784_IG12: ;; offset=0x00BF cmp r8d, edx jae SHORT G_M50784_IG13 mov ecx, r8d mov r10d, r8d mov r10, qword ptr [rax+8*r10] not r10 mov qword ptr [rax+8*rcx], r10 inc r8d cmp r8d, edx jl SHORT G_M50784_IG12 jmp SHORT G_M50784_IG11 ;; size=32 bbWeight=0.04 PerfScore 0.34 G_M50784_IG13: ;; offset=0x00DF call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; Total bytes of code: 229
Changed text
Open file
; Method Program:DangerousMakeOnesComplement2(System.Span`1[nuint]) (FullOpts) G_M34898_IG01: ;; offset=0x0000 ;; size=0 bbWeight=1 PerfScore 0.00 G_M34898_IG02: ;; offset=0x0000 mov rax, bword ptr [rcx] mov ecx, dword ptr [rcx+0x08] cmp ecx, 8 jl SHORT G_M34898_IG04 align [5 bytes for IG03] ;; size=16 bbWeight=1 PerfScore 5.50 G_M34898_IG03: ;; offset=0x0010 vpternlogq zmm0, zmm0, zmmword ptr [rax], 85 vmovups zmmword ptr [rax], zmm0 add rax, 64 add ecx, -8 cmp ecx, 8 jge SHORT G_M34898_IG03 ;; size=25 bbWeight=4 PerfScore 35.00 G_M34898_IG04: ;; offset=0x0029 cmp ecx, 4 jl SHORT G_M34898_IG06 align [2 bytes for IG05] ;; size=7 bbWeight=0.50 PerfScore 0.75 G_M34898_IG05: ;; offset=0x0030 vpternlogq ymm0, ymm0, ymmword ptr [rax], 85 vmovups ymmword ptr [rax], ymm0 add rax, 32 add ecx, -4 cmp ecx, 4 jge SHORT G_M34898_IG05 ;; size=23 bbWeight=4 PerfScore 27.00 G_M34898_IG06: ;; offset=0x0047 cmp ecx, 2 jl SHORT G_M34898_IG08 align [4 bytes for IG07] ;; size=9 bbWeight=0.50 PerfScore 0.75 G_M34898_IG07: ;; offset=0x0050 vpternlogq xmm0, xmm0, xmmword ptr [rax], 85 vmovups xmmword ptr [rax], xmm0 add rax, 16 add ecx, -2 cmp ecx, 2 jge SHORT G_M34898_IG07 ;; size=23 bbWeight=4 PerfScore 23.00 G_M34898_IG08: ;; offset=0x0067 test ecx, ecx je SHORT G_M34898_IG11 ;; size=4 bbWeight=1 PerfScore 1.25 G_M34898_IG09: ;; offset=0x006B xor edx, edx align [0 bytes for IG10] ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M34898_IG10: ;; offset=0x006D not qword ptr [rax+rdx] add rdx, 8 dec ecx jne SHORT G_M34898_IG10 ;; size=12 bbWeight=3.96 PerfScore 17.82 G_M34898_IG11: ;; offset=0x0079 vzeroupper ret ;; size=4 bbWeight=1 PerfScore 2.00 ; Total bytes of code: 125
Find difference