Mandelbrot_StackAllocation_Diff

Created Diff never expires
104 Entfernungen
Zeilen
Gesamt
Entfernt
Wörter
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisieren Sie auf
Diffchecker logo
Diffchecker Pro
143 Zeilen
188 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Wörter
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisieren Sie auf
Diffchecker logo
Diffchecker Pro
229 Zeilen
push rdi
push rdi
push rsi
push rsi
push rbp
push rbx
push rbx
sub rsp,0B8
sub rsp,5E0
vmovaps [rsp+0A0],xmm6
vmovaps [rsp+5D0],xmm6
vxorps xmm4,xmm4,xmm4
vxorps xmm4,xmm4,xmm4
vmovdqu ymmword ptr [rsp+20],ymm4
mov rax,0FFFFFFFFFFFFFA60
vmovdqu ymmword ptr [rsp+40],ymm4
M01_L00:
vmovdqu ymmword ptr [rsp+60],ymm4
vmovdqa xmmword ptr [rsp+rax+5C0],xmm4
vmovdqu ymmword ptr [rsp+80],ymm4
vmovdqa xmmword ptr [rsp+rax+5D0],xmm4
mov rbx,offset MT_System.Double[]
vmovdqa xmmword ptr [rsp+rax+5E0],xmm4
mov rcx,rbx
add rax,30
mov edx,50
jne short M01_L00
call CORINFO_HELP_NEWARR_1_VC
mov rcx,offset MT_System.Double[]
mov rsi,rax
mov [rsp+2B0],rcx
mov rcx,rbx
mov dword ptr [rsp+2B8],50
mov edx,50
mov [rsp+20],rcx
call CORINFO_HELP_NEWARR_1_VC
mov dword ptr [rsp+28],50
mov rdi,rax
vmovsd xmm0,qword ptr [7FFB056D4180]
vmovsd xmm0,qword ptr [7FFB055E6D00]
vmovsd qword ptr [rsp+5A0],xmm0
vmovsd qword ptr [rsp+80],xmm0
vmovsd qword ptr [rsp+5A8],xmm0
vmovsd qword ptr [rsp+88],xmm0
vmovsd qword ptr [rsp+5B0],xmm0
vmovsd qword ptr [rsp+90],xmm0
vmovsd qword ptr [rsp+5B8],xmm0
vmovsd qword ptr [rsp+98],xmm0
vmovsd xmm0,qword ptr [7FFB056D4188]
vmovsd xmm0,qword ptr [7FFB055E6D08]
vmovsd qword ptr [rsp+580],xmm0
vmovsd qword ptr [rsp+60],xmm0
vmovsd qword ptr [rsp+588],xmm0
vmovsd qword ptr [rsp+68],xmm0
vmovsd qword ptr [rsp+590],xmm0
vmovsd qword ptr [rsp+70],xmm0
vmovsd qword ptr [rsp+598],xmm0
vmovsd qword ptr [rsp+78],xmm0
vmovsd xmm6,qword ptr [7FFB056D4190]
vmovsd xmm6,qword ptr [7FFB055E6D10]
vmovsd qword ptr [rsp+560],xmm6
vmovsd qword ptr [rsp+40],xmm6
vmovsd qword ptr [rsp+568],xmm6
vmovsd qword ptr [rsp+48],xmm6
vmovsd qword ptr [rsp+570],xmm6
vmovsd qword ptr [rsp+50],xmm6
vmovsd qword ptr [rsp+578],xmm6
vmovsd qword ptr [rsp+58],xmm6
mov rcx,17D44D23868
mov rcx,rbx
vmovups ymm0,[rcx]
mov edx,4
call CORINFO_HELP_NEWARR_1_VC
mov rcx,204C6BE3868
vmovdqu ymm0,ymmword ptr [rcx]
vmovdqu ymmword ptr [rax+10],ymm0
vmovups ymm0,[rax+10]
xor ecx,ecx
xor ecx,ecx
vmovups ymm1,[7FFB055E6D20]
vmovups ymm1,[7FFB056D41A0]
M01_L00:
M01_L01:
vmulpd ymm2,ymm0,[rsp+80]
vmulpd ymm2,ymm0,[rsp+5A0]
movsxd rdx,ecx
lea rdx,[rsp+2C0]
vsubpd ymm3,ymm2,[rsp+60]
movsxd rax,ecx
vmovups [rsi+rdx*8+10],ymm3
vsubpd ymm3,ymm2,[rsp+580]
movsxd rdx,ecx
vmovups [rdx+rax*8],ymm3
lea rdx,[rsp+30]
movsxd rax,ecx
vsubpd ymm2,ymm2,ymm1
vsubpd ymm2,ymm2,ymm1
vmovups [rdi+rdx*8+10],ymm2
vmovups [rdx+rax*8],ymm2
vaddpd ymm0,ymm0,[rsp+40]
vaddpd ymm0,ymm0,[rsp+560]
add ecx,4
add ecx,4
cmp ecx,50
cmp ecx,50
jl short M01_L00
jl short M01_L01
mov rcx,offset MT_System.Byte[]
mov rcx,offset MT_System.Byte[]
mov edx,320
mov edx,320
call CORINFO_HELP_NEWARR_1_VC
call CORINFO_HELP_NEWARR_1_VC
xor ecx,ecx
xor ecx,ecx
M01_L01:
lea rdx,[rsp+20]
lea edx,[rcx+rcx*4]
mov edx,[rdx+8]
add edx,edx
cmp edx,50
xor r8d,r8d
jl near ptr M01_L12
M01_L02:
M01_L02:
lea r10,[rsi+10]
lea r8d,[rcx+rcx*4]
vmovsd xmm0,qword ptr [rdi+rcx*8+10]
add r8d,r8d
xor r10d,r10d
M01_L03:
lea rdx,[rsp+2B0]
cmp dword ptr [rdx+8],0
jbe near ptr M01_L21
lea rdx,[rsp+2C0]
lea r9,[rsp+20]
mov r11d,ecx
vmovsd xmm0,qword ptr [r9+r11*8+10]
vxorps ymm1,ymm1,ymm1
vxorps ymm1,ymm1,ymm1
vmovups [rsp+20],ymm1
vmovups [rsp+540],ymm1
xor r9d,r9d
xor r9d,r9d
xor r11d,r11d
xor r11d,r11d
M01_L03:
M01_L04:
lea ebx,[r11+r8*8]
lea ebx,[r11+r10*8]
movsxd rbx,ebx
movsxd rbx,ebx
vmovups ymm1,[r10+rbx*8]
vmovups ymm1,[rdx+rbx*8]
vmovaps ymm2,ymm1
vmovaps ymm2,ymm1
vmovsd qword ptr [rsp+20],xmm0
vmovsd qword ptr [rsp+540],xmm0
vmovsd qword ptr [rsp+28],xmm0
vmovsd qword ptr [rsp+548],xmm0
vmovsd qword ptr [rsp+30],xmm0
vmovsd qword ptr [rsp+550],xmm0
vmovsd qword ptr [rsp+38],xmm0
vmovsd qword ptr [rsp+558],xmm0
vmovups ymm3,[rsp+20]
vmovups ymm3,[rsp+540]
xor ebx,ebx
xor ebx,ebx
mov ebp,31
mov esi,31
M01_L04:
nop dword ptr [rax]
M01_L05:
vmulpd ymm4,ymm2,ymm2
vmulpd ymm4,ymm2,ymm2
vmulpd ymm5,ymm3,ymm3
vmulpd ymm5,ymm3,ymm3
vsubpd ymm4,ymm4,ymm5
vsubpd ymm4,ymm4,ymm5
vaddpd ymm4,ymm4,ymm1
vaddpd ymm4,ymm4,ymm1
vmulpd ymm3,ymm3,ymm2
vmulpd ymm3,ymm3,ymm2
vaddpd ymm2,ymm3,ymm3
vaddpd ymm2,ymm3,ymm3
vaddpd ymm3,ymm2,[rsp+20]
vaddpd ymm3,ymm2,[rsp+540]
vmovaps ymm2,ymm4
vmovaps ymm2,ymm4
vmulpd ymm4,ymm2,ymm2
vmulpd ymm4,ymm2,ymm2
vmulpd ymm5,ymm3,ymm3
vmulpd ymm5,ymm3,ymm3
vaddpd ymm4,ymm5,ymm4
vaddpd ymm4,ymm5,ymm4
vmovaps ymm5,ymm4
vmovaps ymm5,ymm4
vucomisd xmm5,xmm6
vucomisd xmm5,xmm6
ja short M01_L07
ja short M01_L08
M01_L05:
M01_L06:
vunpckhpd xmm4,xmm4,xmm4
vunpckhpd xmm4,xmm4,xmm4
vucomisd xmm4,xmm6
vucomisd xmm4,xmm6
ja short M01_L08
ja short M01_L09
M01_L06:
dec ebp
test ebp,ebp
jg short M01_L04
jmp short M01_L09
M01_L07:
M01_L07:
dec esi
test esi,esi
jg short M01_L05
jmp short M01_L10
M01_L08:
or ebx,2
or ebx,2
cmp ebx,3
cmp ebx,3
je short M01_L09
je short M01_L10
jmp short M01_L05
jmp short M01_L06
M01_L08:
M01_L09:
or ebx,1
or ebx,1
cmp ebx,3
cmp ebx,3
jne short M01_L06
jne short M01_L07
M01_L09:
M01_L10:
lea r9d,[rbx+r9*4]
lea r9d,[rbx+r9*4]
add r11d,2
add r11d,2
cmp r11d,8
cmp r11d,8
Text moved with changes from lines 122-129 (92.0% similarity)
jl near ptr M01_L04
lea edx,[r8+r10]
cmp edx,320
jae near ptr M01_L21
mov r11d,edx
not r9d
mov [rax+r11+10],r9b
inc r10d
cmp r10d,0A
jl near ptr M01_L03
jl near ptr M01_L03
Text moved with changes to lines 126-134 (92.0% similarity)
lea r10d,[rdx+r8]
cmp r10d,320
jae short M01_L10
not r9d
mov [rax+r10+10],r9b
inc r8d
cmp r8d,0A
jl near ptr M01_L02
inc ecx
inc ecx
cmp ecx,50
cmp ecx,50
jl near ptr M01_L01
jl near ptr M01_L02
M01_L11:
vzeroupper
vzeroupper
vmovaps xmm6,[rsp+0A0]
vmovaps xmm6,[rsp+5D0]
add rsp,0B8
add rsp,5E0
pop rbx
pop rbx
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
M01_L10:
M01_L12:
lea r8d,[rcx+rcx*4]
add r8d,r8d
xor r10d,r10d
M01_L13:
lea r9,[rsp+2B0]
cmp dword ptr [r9+8],0
jbe near ptr M01_L21
lea r9,[rsp+2C0]
cmp ecx,edx
jae near ptr M01_L21
lea r11,[rsp+20]
mov ebx,ecx
vmovsd xmm0,qword ptr [r11+rbx*8+10]
vxorps ymm1,ymm1,ymm1
vmovups [rsp+540],ymm1
xor r11d,r11d
xor esi,esi
M01_L14:
lea ebx,[rsi+r10*8]
movsxd rbx,ebx
vmovups ymm1,[r9+rbx*8]
vmovaps ymm2,ymm1
vmovsd qword ptr [rsp+540],xmm0
vmovsd qword ptr [rsp+548],xmm0
vmovsd qword ptr [rsp+550],xmm0
vmovsd qword ptr [rsp+558],xmm0
vmovups ymm3,[rsp+540]
xor ebx,ebx
mov edi,31
M01_L15:
vmulpd ymm4,ymm2,ymm2
vmulpd ymm5,ymm3,ymm3
vsubpd ymm4,ymm4,ymm5
vaddpd ymm4,ymm4,ymm1
vmulpd ymm3,ymm3,ymm2
vaddpd ymm2,ymm3,ymm3
vaddpd ymm3,ymm2,[rsp+540]
vmovaps ymm2,ymm4
vmulpd ymm4,ymm2,ymm2
vmulpd ymm5,ymm3,ymm3
vaddpd ymm4,ymm5,ymm4
vmovaps ymm5,ymm4
vucomisd xmm5,xmm6
ja short M01_L18
M01_L16:
vunpckhpd xmm4,xmm4,xmm4
vucomisd xmm4,xmm6
ja short M01_L19
M01_L17:
dec edi
test edi,edi
jg short M01_L15
jmp short M01_L20
M01_L18:
or ebx,2
cmp ebx,3
je short M01_L20
jmp short M01_L16
M01_L19:
or ebx,1
cmp ebx,3
jne short M01_L17
M01_L20:
lea r11d,[rbx+r11*4]
add esi,2
cmp esi,8
jl near ptr M01_L14
lea r9d,[r8+r10]
cmp r9d,320
jae short M01_L21
not r11d
mov [rax+r9+10],r11b
inc r10d
cmp r10d,0A
jl near ptr M01_L13
inc ecx
cmp ecx,50
jl near ptr M01_L12
jmp near ptr M01_L11
M01_L21:
call CORINFO_HELP_RNGCHKFAIL
call CORINFO_HELP_RNGCHKFAIL
int 3
int 3