x86

Created Diff never expires
9 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
26 lines
28 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
44 lines
; ...ToArray()
; ...ToArray()
push rsi
push rsi
sub rsp,20
sub rsp,20
vzeroupper
mov esi,[rcx+8]
mov edx,[rcx+0C]
mov edx,[rcx+0C]
mov esi,[rcx+8]
sub edx,esi
sub edx,esi
movsxd rdx,edx
movsxd rdx,edx
mov rcx,offset MT_System.Int32[]
mov rcx,offset MT_System.Int32[]
call CORINFO_HELP_NEWARR_1_VC
call CORINFO_HELP_NEWARR_1_VC
lea rdx,[rax+10]
lea rdx,[rax+10]
mov ecx,[rax+8]
mov ecx,[rax+8]
cmp ecx,8
jl short M01_L01
vmovd xmm0,esi
vpbroadcastd ymm0,xmm0
vpaddd ymm0,ymm0,[7FF7FAE306A0]
vmovups ymm1,[7FF7FAE306C0]
M01_L00:
vmovups [rdx],ymm0
vpaddd ymm0,ymm0,ymm1
add rdx,20
sub ecx,8
cmp ecx,8
jge short M01_L00
vmovd esi,xmm0
M01_L01:
xor r8d,r8d
xor r8d,r8d
test ecx,ecx
test ecx,ecx
jle short M01_L01
jle short M01_L03
M01_L00:
M01_L02:
mov r9d,r8d
lea r9d,[rsi+1]
mov [rdx+r9*4],esi
mov r10d,r8d
mov [rdx+r10*4],esi
inc r8d
inc r8d
inc esi
cmp r8d,ecx
cmp r8d,ecx
jl short M01_L00
mov esi,r9d
M01_L01:
jl short M01_L02
M01_L03:
vzeroupper
add rsp,20
add rsp,20
pop rsi
pop rsi
ret
ret
; Total bytes of code 68
; Total bytes of code 133