Untitled Diff

Created Diff never expires
105 removals
Words removed136
Total words810
Words removed (%)16.79
325 lines
123 additions
Words added226
Total words900
Words added (%)25.11
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