Untitled Diff

Created Diff never expires
105 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
325 lines
123 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
335 lines
; Method P:CopyConstSlice4(ubyte[],ubyte[]):this
; Method P:CopyConstSlice4(ubyte[],ubyte[]):this
G_M64517_IG01:
G_M64517_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
;; size=4 bbWeight=1 PerfScore 0.25


G_M64517_IG02:
G_M64517_IG02:
test r8, r8
test r8, r8
je SHORT G_M64517_IG07
je SHORT G_M64517_IG07
cmp dword ptr [r8+08H], 4
cmp dword ptr [r8+08H], 4
jb SHORT G_M64517_IG07
jb SHORT G_M64517_IG07
add r8, 16
add r8, 16
test rdx, rdx
test rdx, rdx
jne SHORT G_M64517_IG04
jne SHORT G_M64517_IG04
;; size=21 bbWeight=1 PerfScore 6.75
;; size=21 bbWeight=1 PerfScore 6.75


G_M64517_IG03:
G_M64517_IG03:
xor rcx, rcx
xor rax, rax
xor eax, eax
xor ecx, ecx
jmp SHORT G_M64517_IG05
jmp SHORT G_M64517_IG05
;; size=6 bbWeight=0.50 PerfScore 1.25
;; size=6 bbWeight=0.50 PerfScore 1.25


G_M64517_IG04:
G_M64517_IG04:
lea rcx, bword ptr [rdx+10H]
lea rax, bword ptr [rdx+10H]
mov eax, dword ptr [rdx+08H]
mov ecx, dword ptr [rdx+08H]
;; size=7 bbWeight=0.50 PerfScore 1.25
;; size=7 bbWeight=0.50 PerfScore 1.25


G_M64517_IG05:
G_M64517_IG05:
cmp eax, 4
cmp ecx, 4
jb SHORT G_M64517_IG08
jb SHORT G_M64517_IG08
mov rdx, r8
mov edx, dword ptr [r8]
mov r8d, 4
mov dword ptr [rax], edx
call [System.Buffer:Memmove(byref,byref,ulong)]
;; size=10 bbWeight=1 PerfScore 4.25
nop
;; size=21 bbWeight=1 PerfScore 5.00


G_M64517_IG06:
G_M64517_IG06:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25


G_M64517_IG07:
G_M64517_IG07:
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00


G_M64517_IG08:
G_M64517_IG08:
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
; Total bytes of code: 78
; Total bytes of code: 67


; Method P:CopyConstSlice10(ubyte[],ubyte[]):this
; Method P:CopyConstSlice10(ubyte[],ubyte[]):this
G_M624_IG01:
G_M624_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
;; size=4 bbWeight=1 PerfScore 0.25


G_M624_IG02:
G_M624_IG02:
test r8, r8
test r8, r8
je SHORT G_M624_IG07
je SHORT G_M624_IG07
cmp dword ptr [r8+08H], 10
cmp dword ptr [r8+08H], 10
jb SHORT G_M624_IG07
jb SHORT G_M624_IG07
add r8, 16
add r8, 16
test rdx, rdx
test rdx, rdx
jne SHORT G_M624_IG04
jne SHORT G_M624_IG04
;; size=21 bbWeight=1 PerfScore 6.75
;; size=21 bbWeight=1 PerfScore 6.75


G_M624_IG03:
G_M624_IG03:
xor rcx, rcx
xor rax, rax
xor eax, eax
xor ecx, ecx
jmp SHORT G_M624_IG05
jmp SHORT G_M624_IG05
;; size=6 bbWeight=0.50 PerfScore 1.25
;; size=6 bbWeight=0.50 PerfScore 1.25


G_M624_IG04:
G_M624_IG04:
lea rcx, bword ptr [rdx+10H]
lea rax, bword ptr [rdx+10H]
mov eax, dword ptr [rdx+08H]
mov ecx, dword ptr [rdx+08H]
;; size=7 bbWeight=0.50 PerfScore 1.25
;; size=7 bbWeight=0.50 PerfScore 1.25


G_M624_IG05:
G_M624_IG05:
cmp eax, 10
cmp ecx, 10
jb SHORT G_M624_IG08
jb SHORT G_M624_IG08
mov rdx, r8
mov rcx, qword ptr [r8]
mov r8d, 10
mov rdx, qword ptr [r8+02H]
call [System.Buffer:Memmove(byref,byref,ulong)]
mov qword ptr [rax], rcx
nop
mov qword ptr [rax+02H], rdx
;; size=21 bbWeight=1 PerfScore 5.00
;; size=19 bbWeight=1 PerfScore 7.25


G_M624_IG06:
G_M624_IG06:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25


G_M624_IG07:
G_M624_IG07:
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00


G_M624_IG08:
G_M624_IG08:
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
; Total bytes of code: 78
; Total bytes of code: 76


; Method P:CopyConstSlice26(ubyte[],ubyte[]):this
; Method P:CopyConstSlice26(ubyte[],ubyte[]):this
G_M36949_IG01:
G_M36949_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
vzeroupper
;; size=7 bbWeight=1 PerfScore 1.25


G_M36949_IG02:
G_M36949_IG02:
test r8, r8
test r8, r8
je SHORT G_M36949_IG07
je SHORT G_M36949_IG07
cmp dword ptr [r8+08H], 26
cmp dword ptr [r8+08H], 26
jb SHORT G_M36949_IG07
jb SHORT G_M36949_IG07
add r8, 16
add r8, 16
test rdx, rdx
test rdx, rdx
jne SHORT G_M36949_IG04
jne SHORT G_M36949_IG04
;; size=21 bbWeight=1 PerfScore 6.75
;; size=21 bbWeight=1 PerfScore 6.75


G_M36949_IG03:
G_M36949_IG03:
xor rcx, rcx
xor rax, rax
xor eax, eax
xor ecx, ecx
jmp SHORT G_M36949_IG05
jmp SHORT G_M36949_IG05
;; size=6 bbWeight=0.50 PerfScore 1.25
;; size=6 bbWeight=0.50 PerfScore 1.25


G_M36949_IG04:
G_M36949_IG04:
lea rcx, bword ptr [rdx+10H]
lea rax, bword ptr [rdx+10H]
mov eax, dword ptr [rdx+08H]
mov ecx, dword ptr [rdx+08H]
;; size=7 bbWeight=0.50 PerfScore 1.25
;; size=7 bbWeight=0.50 PerfScore 1.25


G_M36949_IG05:
G_M36949_IG05:
cmp eax, 26
cmp ecx, 26
jb SHORT G_M36949_IG08
jb SHORT G_M36949_IG08
mov rdx, r8
vmovdqu xmm0, xmmword ptr [r8]
mov r8d, 26
vmovdqu xmm1, xmmword ptr [r8+0AH]
call [System.Buffer:Memmove(byref,byref,ulong)]
vmovdqu xmmword ptr [rax], xmm0
nop
vmovdqu xmmword ptr [rax+0AH], xmm1
;; size=21 bbWeight=1 PerfScore 5.00
;; size=25 bbWeight=1 PerfScore 13.25


G_M36949_IG06:
G_M36949_IG06:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25


G_M36949_IG07:
G_M36949_IG07:
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00


G_M36949_IG08:
G_M36949_IG08:
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
; Total bytes of code: 78
; Total bytes of code: 85


; Method P:CopyConstSlice64(ubyte[],ubyte[]):this
; Method P:CopyConstSlice64(ubyte[],ubyte[]):this
G_M29779_IG01:
G_M29779_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
vzeroupper
;; size=7 bbWeight=1 PerfScore 1.25


G_M29779_IG02:
G_M29779_IG02:
test r8, r8
test r8, r8
je SHORT G_M29779_IG07
je SHORT G_M29779_IG07
cmp dword ptr [r8+08H], 64
cmp dword ptr [r8+08H], 64
jb SHORT G_M29779_IG07
jb SHORT G_M29779_IG07
add r8, 16
add r8, 16
test rdx, rdx
test rdx, rdx
jne SHORT G_M29779_IG04
jne SHORT G_M29779_IG04
;; size=21 bbWeight=1 PerfScore 6.75
;; size=21 bbWeight=1 PerfScore 6.75


G_M29779_IG03:
G_M29779_IG03:
xor rcx, rcx
xor rax, rax
xor eax, eax
xor ecx, ecx
jmp SHORT G_M29779_IG05
jmp SHORT G_M29779_IG05
;; size=6 bbWeight=0.50 PerfScore 1.25
;; size=6 bbWeight=0.50 PerfScore 1.25


G_M29779_IG04:
G_M29779_IG04:
lea rcx, bword ptr [rdx+10H]
lea rax, bword ptr [rdx+10H]
mov eax, dword ptr [rdx+08H]
mov ecx, dword ptr [rdx+08H]
;; size=7 bbWeight=0.50 PerfScore 1.25
;; size=7 bbWeight=0.50 PerfScore 1.25


G_M29779_IG05:
G_M29779_IG05:
cmp eax, 64
cmp ecx, 64
jb SHORT G_M29779_IG08
jb SHORT G_M29779_IG08
mov rdx, r8
vmovdqu ymm0, ymmword ptr[r8]
mov r8d, 64
vmovdqu ymm1, ymmword ptr[r8+20H]
call [System.Buffer:Memmove(byref,byref,ulong)]
vmovdqu ymmword ptr[rax], ymm0
nop
vmovdqu ymmword ptr[rax+20H], ymm1
;; size=21 bbWeight=1 PerfScore 5.00
;; size=25 bbWeight=1 PerfScore 15.25


G_M29779_IG06:
G_M29779_IG06:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25


G_M29779_IG07:
G_M29779_IG07:
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00


G_M29779_IG08:
G_M29779_IG08:
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
; Total bytes of code: 78
; Total bytes of code: 85


; Method P:CopyConstSlice120(ubyte[],ubyte[]):this
; Method P:CopyConstSlice120(ubyte[],ubyte[]):this
G_M26434_IG01:
G_M26434_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
vzeroupper
;; size=7 bbWeight=1 PerfScore 1.25


G_M26434_IG02:
G_M26434_IG02:
test r8, r8
test r8, r8
je SHORT G_M26434_IG07
je SHORT G_M26434_IG07
cmp dword ptr [r8+08H], 120
cmp dword ptr [r8+08H], 120
jb SHORT G_M26434_IG07
jb SHORT G_M26434_IG07
add r8, 16
add r8, 16
test rdx, rdx
test rdx, rdx
jne SHORT G_M26434_IG04
jne SHORT G_M26434_IG04
;; size=21 bbWeight=1 PerfScore 6.75
;; size=21 bbWeight=1 PerfScore 6.75


G_M26434_IG03:
G_M26434_IG03:
xor rcx, rcx
xor rax, rax
xor eax, eax
xor ecx, ecx
jmp SHORT G_M26434_IG05
jmp SHORT G_M26434_IG05
;; size=6 bbWeight=0.50 PerfScore 1.25
;; size=6 bbWeight=0.50 PerfScore 1.25


G_M26434_IG04:
G_M26434_IG04:
lea rcx, bword ptr [rdx+10H]
lea rax, bword ptr [rdx+10H]
mov eax, dword ptr [rdx+08H]
mov ecx, dword ptr [rdx+08H]
;; size=7 bbWeight=0.50 PerfScore 1.25
;; size=7 bbWeight=0.50 PerfScore 1.25


G_M26434_IG05:
G_M26434_IG05:
cmp eax, 120
cmp ecx, 120
jb SHORT G_M26434_IG08
jb SHORT G_M26434_IG08
mov rdx, r8
vmovdqu ymm0, ymmword ptr[r8]
mov r8d, 120
vmovdqu ymm1, ymmword ptr[r8+20H]
call [System.Buffer:Memmove(byref,byref,ulong)]
vmovdqu ymm2, ymmword ptr[r8+40H]
nop
vmovdqu ymm3, ymmword ptr[r8+58H]
;; size=21 bbWeight=1 PerfScore 5.00
vmovdqu ymmword ptr[rax], ymm0
vmovdqu ymmword ptr[rax+20H], ymm1
vmovdqu ymmword ptr[rax+40H], ymm2
vmovdqu ymmword ptr[rax+58H], ymm3
;; size=47 bbWeight=1 PerfScore 29.25


G_M26434_IG06:
G_M26434_IG06:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25


G_M26434_IG07:
G_M26434_IG07:
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00


G_M26434_IG08:
G_M26434_IG08:
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
; Total bytes of code: 78
; Total bytes of code: 107


; Method P:CopyConstSlice8_overlap():this
; Method P:CopyConstSlice8_overlap():this
G_M22697_IG01:
G_M22697_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
;; size=4 bbWeight=1 PerfScore 0.25


G_M22697_IG02:
G_M22697_IG02:
mov rcx, qword ptr [rcx+08H]
mov rax, qword ptr [rcx+08H]
mov rdx, rcx
mov rdx, rax
add rcx, 4
add rax, 4
mov r8d, 8
mov rcx, qword ptr [rdx]
call [System.Buffer:Memmove(byref,byref,ulong)]
mov qword ptr [rax], rcx
nop
;; size=17 bbWeight=1 PerfScore 5.50
;; size=24 bbWeight=1 PerfScore 6.00


G_M22697_IG03:
G_M22697_IG03:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25
; Total bytes of code: 33
; Total bytes of code: 26


; Method P:CopyConstSlice32_overlap():this
; Method P:CopyConstSlice32_overlap():this
G_M8176_IG01:
G_M8176_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
vzeroupper
;; size=7 bbWeight=1 PerfScore 1.25


G_M8176_IG02:
G_M8176_IG02:
mov rcx, qword ptr [rcx+08H]
mov rax, qword ptr [rcx+08H]
mov rdx, rcx
mov rdx, rax
add rcx, 4
add rax, 4
mov r8d, 32
vmovdqu ymm0, ymmword ptr[rdx]
call [System.Buffer:Memmove(byref,byref,ulong)]
vmovdqu ymmword ptr[rax], ymm0
nop
;; size=19 bbWeight=1 PerfScore 9.50
;; size=24 bbWeight=1 PerfScore 6.00


G_M8176_IG03:
G_M8176_IG03:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25
; Total bytes of code: 33
; Total bytes of code: 31


; Method P:CopyConstSlice120_overlap():this
; Method P:CopyConstSlice120_overlap():this
G_M6338_IG01:
G_M6338_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
vzeroupper
;; size=7 bbWeight=1 PerfScore 1.25


G_M6338_IG02:
G_M6338_IG02:
mov rcx, qword ptr [rcx+08H]
mov rax, qword ptr [rcx+08H]
mov rdx, rcx
mov rdx, rax
add rcx, 4
add rax, 4
mov r8d, 120
vmovdqu ymm0, ymmword ptr[rdx]
call [System.Buffer:Memmove(byref,byref,ulong)]
vmovdqu ymm1, ymmword ptr[rdx+20H]
nop
vmovdqu ymm2, ymmword ptr[rdx+40H]
;; size=24 bbWeight=1 PerfScore 6.00
vmovdqu ymm3, ymmword ptr[rdx+58H]
vmovdqu ymmword ptr[rax], ymm0
vmovdqu ymmword ptr[rax+20H], ymm1
vmovdqu ymmword ptr[rax+40H], ymm2
vmovdqu ymmword ptr[rax+58H], ymm3
;; size=49 bbWeight=1 PerfScore 30.50


G_M6338_IG03:
G_M6338_IG03:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25
; Total bytes of code: 33
; Total bytes of code: 61


; Method P:.ctor():this
; Method P:.ctor():this
G_M43081_IG01:
G_M43081_IG01:
;; size=0 bbWeight=1 PerfScore 0.00
;; size=0 bbWeight=1 PerfScore 0.00


G_M43081_IG02:
G_M43081_IG02:
ret
ret
;; size=1 bbWeight=1 PerfScore 1.00
;; size=1 bbWeight=1 PerfScore 1.00
; Total bytes of code: 1
; Total bytes of code: 1