Untitled diff

Created Diff never expires
119 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
139 lines
182 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
198 lines
; System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyCore[[System.Int32, System.Private.CoreLib],[System.Buffers.IndexOfAnyAsciiSearcher+Negate, System.Private.CoreLib],[System.Buffers.IndexOfAnyAsciiSearcher+Default, System.Private.CoreLib],[System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int32, AsciiState ByRef)
; System.Buffers.IndexOfAnyAsciiSearcher.IndexOfAnyCore[[System.Int32, System.Private.CoreLib],[System.Buffers.IndexOfAnyAsciiSearcher+Negate, System.Private.CoreLib],[System.Buffers.IndexOfAnyAsciiSearcher+Default, System.Private.CoreLib],[System.Buffers.IndexOfAnyAsciiSearcher+IndexOfAnyResultMapper`1[[System.Int16, System.Private.CoreLib]], System.Private.CoreLib]](Int16 ByRef, Int32, AsciiState ByRef)
push rbp
push rbp
push r15
push rbx
sub rsp,10
vzeroupper
vzeroupper
mov rbp,rsp
lea rbp,[rsp+20]
mov rax,rdi
mov r15,rdi
cmp esi,8
mov ebx,esi
jl near ptr M01_L02
mov rsi,r15
cmp esi,10
cmp ebx,8
jle near ptr M01_L09
jl near ptr M01_L03
vmovups ymm0,[rdx]
cmp ebx,10
cmp esi,20
jle near ptr M01_L13
jle near ptr M01_L07
cmp ebx,20
lea edx,[rsi-20]
jle near ptr M01_L11
movsxd rcx,edx
vmovups zmm0,[rdx]
lea rcx,[rax+rcx*2]
cmp ebx,40
vmovups ymm1,[7F07F6763780]
jg near ptr M01_L07
M01_L00:
M01_L00:
vmovups ymm2,[rax]
add ebx,0FFFFFFE0
vpackuswb ymm2,ymm2,[rax+20]
movsxd rax,ebx
vpshufb ymm3,ymm0,ymm2
lea rax,[r15+rax*2]
vpsrld ymm2,ymm2,4
cmp rsi,rax
vpand ymm2,ymm2,ymm1
cmova rsi,rax
vmovups ymm4,[7F07F67637A0]
vmovups zmm1,[rsi]
vpshufb ymm2,ymm4,ymm2
vpackuswb zmm1,zmm1,[rax]
vpand ymm2,ymm3,ymm2
vpshufb zmm0,zmm0,zmm1
vxorps ymm3,ymm3,ymm3
vpsrld zmm1,zmm1,4
vpcmpeqb ymm2,ymm2,ymm3
vpandd zmm1,zmm1,[7FEE32B34200]
vptest ymm2,ymm2
vmovups zmm2,[7FEE32B34240]
je short M01_L06
vpshufb zmm1,zmm2,zmm1
sub rax,rdi
vpandd zmm0,zmm0,zmm1
shr rax,1
vptestnmb k1,zmm0,zmm0
vpermq ymm1,ymm2,0D8
vpmovm2b zmm0,k1
vpmovmskb esi,ymm1
vptestmb k1,zmm0,zmm0
kortestq k1,k1
je near ptr M01_L15
vmovups zmm1,[7FEE32B34280]
vpermq zmm0,zmm1,zmm0
vpmovb2m k1,zmm0
kmovq rdx,k1
xor edi,edi
xor edi,edi
tzcnt edi,esi
tzcnt rdi,rdx
add eax,edi
cmp edi,20
jge near ptr M01_L10
M01_L01:
M01_L01:
sub rsi,r15
shr rsi,1
lea eax,[rsi+rdi]
M01_L02:
vzeroupper
vzeroupper
add rsp,10
pop rbx
pop r15
pop rbp
pop rbp
ret
ret
M01_L02:
movsxd rcx,esi
lea rsi,[rax+rcx*2]
jmp short M01_L04
M01_L03:
M01_L03:
movzx ecx,word ptr [rax]
movsxd rax,ebx
lea rdi,[rsi+rax*2]
jmp short M01_L05
M01_L04:
movzx eax,word ptr [rsi]
cmp [rdx],dl
cmp [rdx],dl
lea r8,[rdx+20]
lea rcx,[rdx+40]
cmp ecx,80
cmp eax,80
jge short M01_L05
jge short M01_L06
mov r9d,ecx
mov r8d,eax
sar r9d,5
sar r8d,5
mov r8d,[r8+r9*4]
mov ecx,[rcx+r8*4]
bt r8d,ecx
bt ecx,eax
setb cl
setb al
movzx ecx,cl
movzx eax,al
test ecx,ecx
test eax,eax
je short M01_L05
je short M01_L06
add rax,2
add rsi,2
M01_L04:
cmp rax,rsi
jne short M01_L03
jmp near ptr M01_L11
M01_L05:
M01_L05:
sub rax,rdi
cmp rsi,rdi
jne short M01_L04
jmp near ptr M01_L15
M01_L06:
mov rax,rsi
sub rax,r15
shr rax,1
shr rax,1
jmp short M01_L01
jmp short M01_L02
M01_L06:
add rax,40
cmp rax,rcx
jb near ptr M01_L00
M01_L07:
M01_L07:
add esi,0FFFFFFF0
lea eax,[rbx-40]
movsxd rdx,esi
movsxd rdx,eax
lea rcx,[rdi+rdx*2]
lea rdi,[rsi+rdx*2]
cmp rax,rcx
M01_L08:
cmova rax,rcx
vmovups zmm1,[rsi]
vmovups ymm1,[rax]
vpackuswb zmm1,zmm1,[rsi+40]
vpackuswb ymm1,ymm1,[rcx]
vpshufb zmm2,zmm0,zmm1
vpsrld zmm1,zmm1,4
vpandd zmm1,zmm1,[7FEE32B34200]
vmovups zmm3,[7FEE32B34240]
vpshufb zmm1,zmm3,zmm1
vpandd zmm1,zmm2,zmm1
vptestnmb k1,zmm1,zmm1
vpmovm2b zmm1,k1
vptestmb k1,zmm1,zmm1
kortestq k1,k1
jne short M01_L09
add rsi,80
cmp rsi,rdi
jb short M01_L08
jmp near ptr M01_L00
M01_L09:
mov rax,rsi
sub rax,r15
shr rax,1
vmovups zmm0,[7FEE32B34280]
vpermq zmm0,zmm0,zmm1
vpmovb2m k1,zmm0
kmovq rsi,k1
tzcnt rsi,rsi
add eax,esi
jmp near ptr M01_L02
M01_L10:
mov rsi,rax
add edi,0FFFFFFE0
jmp near ptr M01_L01
M01_L11:
vmovups ymm0,[rdx]
lea esi,[rbx-10]
movsxd rsi,esi
lea rax,[r15+rsi*2]
cmp r15,rax
mov rsi,r15
cmova rsi,rax
vmovups ymm1,[rsi]
vpackuswb ymm1,ymm1,[rax]
vpshufb ymm0,ymm0,ymm1
vpshufb ymm0,ymm0,ymm1
vpsrld ymm1,ymm1,4
vpsrld ymm1,ymm1,4
vmovups ymm2,[7F07F6763780]
vpand ymm1,ymm1,[7FEE32B34200]
vpand ymm1,ymm1,ymm2
vmovups ymm2,[7FEE32B34240]
vmovups ymm2,[7F07F67637A0]
vpshufb ymm1,ymm2,ymm1
vpshufb ymm1,ymm2,ymm1
vpand ymm0,ymm0,ymm1
vpand ymm0,ymm0,ymm1
vxorps ymm1,ymm1,ymm1
vxorps ymm1,ymm1,ymm1
vpcmpeqb ymm0,ymm0,ymm1
vpcmpeqb ymm0,ymm0,ymm1
vptest ymm0,ymm0
vptest ymm0,ymm0
je near ptr M01_L11
je near ptr M01_L15
vpermq ymm0,ymm0,0D8
vpermq ymm0,ymm0,0D8
vpmovmskb edx,ymm0
vpmovmskb edx,ymm0
tzcnt edx,edx
xor edi,edi
cmp edx,10
tzcnt edi,edx
jl short M01_L08
cmp edi,10
mov rax,rcx
jl short M01_L12
add edx,0FFFFFFF0
mov rsi,rax
M01_L08:
add edi,0FFFFFFF0
sub rax,rdi
M01_L12:
shr rax,1
sub rsi,r15
add eax,edx
shr rsi,1
jmp near ptr M01_L01
lea eax,[rsi+rdi]
M01_L09:
jmp near ptr M01_L02
vmovups xmm0,[rdx]
M01_L13:
lea eax,[rsi-8]
lea rsi,[rbp-20]
mov rdi,rdx
call qword ptr [7FEE32E45DD0]; System.Buffers.IndexOfAnyAsciiSearcher+AsciiState.get_Bitmap128()
lea eax,[rbx-8]
cdqe
cdqe
lea rax,[rdi+rax*2]
lea rax,[r15+rax*2]
cmp rdi,rax
cmp r15,rax
mov rcx,rdi
mov rcx,r15
cmova rcx,rax
cmova rcx,rax
vmovups xmm1,[rcx]
vmovups xmm0,[rcx]
vpackuswb xmm1,xmm1,[rax]
vpackuswb xmm0,xmm0,[rax]
vpshufb xmm0,xmm0,xmm1
vmovaps xmm1,[rbp-20]
vpsrld xmm1,xmm1,4
vpshufb xmm1,xmm1,xmm0
vpand xmm1,xmm1,[7F07F6763780]
vpsrld xmm0,xmm0,4
vmovups xmm2,[7F07F67637C0]
vpand xmm0,xmm0,[7FEE32B34200]
vpshufb xmm1,xmm2,xmm1
vmovups xmm2,[7FEE32B342C0]
vpand xmm0,xmm0,xmm1
vpshufb xmm0,xmm2,xmm0
vpand xmm0,xmm1,xmm0
vxorps xmm1,xmm1,xmm1
vxorps xmm1,xmm1,xmm1
vpcmpeqb xmm0,xmm0,xmm1
vpcmpeqb xmm0,xmm0,xmm1
vptest xmm0,xmm0
vptest xmm0,xmm0
je short M01_L11
je short M01_L15
vpmovmskb edx,xmm0
vpmovmskb edx,xmm0
tzcnt edx,edx
tzcnt edx,edx
cmp edx,8
cmp edx,8
jl short M01_L10
jl short M01_L14
mov rcx,rax
mov rcx,rax
add edx,0FFFFFFF8
add edx,0FFFFFFF8
M01_L10:
M01_L14:
sub rcx,rdi
sub rcx,r15
shr rcx,1
shr rcx,1
lea eax,[rcx+rdx]
lea eax,[rcx+rdx]
jmp near ptr M01_L01
jmp near ptr M01_L02
M01_L11:
M01_L15:
mov eax,0FFFFFFFF
mov eax,0FFFFFFFF
vzeroupper
vzeroupper
add rsp,10
pop rbx
pop r15
pop rbp
pop rbp
ret
ret
; Total bytes of code 474
; Total bytes of code 748