NoStrengthReductionInNet10

Creato Il diff non scade mai
32 rimozioni
111 linee
37 aggiunte
111 linee
; Method IDKEngine.Utils.Algorithms:RadixSort(System.Span`1[int],System.Span`1[int],System.Runtime.Intrinsics.Vector128`1[float][],System.Runtime.Intrinsics.Vector128`1[float][],int) (FullOpts)
; Method IDKEngine.Utils.Algorithms:RadixSort(System.Span`1[int],System.Span`1[int],System.Runtime.Intrinsics.Vector128`1[float][],System.Runtime.Intrinsics.Vector128`1[float][],int) (FullOpts)
G_M000_IG01: ;; offset=0x0000
G_M000_IG01: ;; offset=0x0000
push rbp
push rbp
push r15
push r15
push r14
push r14
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp, 56
sub rsp, 56
lea rbp, [rsp+0x20]
lea rbp, [rsp+0x20]
mov rax, 0xD36B005D45F
mov rax, 0xECEDDBE39D1F
mov qword ptr [rbp+0x08], rax
mov qword ptr [rbp+0x08], rax


G_M000_IG02: ;; offset=0x001F
G_M000_IG02: ;; offset=0x001F
mov rbx, bword ptr [rcx]
mov rbx, bword ptr [rcx]
mov esi, dword ptr [rcx+0x08]
mov esi, dword ptr [rcx+0x08]
mov rdi, r8
mov rdi, r8
mov r14d, dword ptr [rbp+0x70]
mov r14d, dword ptr [rbp+0x70]
mov r15, r9
mov r15, r9
mov rcx, -0x6000
mov rcx, -0x6000
add rcx, rsp
add rcx, rsp
jb SHORT G_M000_IG03
jb SHORT G_M000_IG03
xor ecx, ecx
xor ecx, ecx


G_M000_IG03: ;; offset=0x0040
G_M000_IG03: ;; offset=0x0040
test dword ptr [rsp], esp
test dword ptr [rsp], esp
sub rsp, 0x1000
sub rsp, 0x1000
cmp rsp, rcx
cmp rsp, rcx
jae SHORT G_M000_IG03
jae SHORT G_M000_IG03
mov rsp, rcx
mov rsp, rcx
lea rcx, [rsp+0x20]
lea rcx, [rsp+0x20]
mov qword ptr [rbp+0x10], rcx
mov qword ptr [rbp+0x10], rcx
mov edx, 0x6000
mov edx, 0x6000
call CORINFO_HELP_MEMZERO
call CORINFO_HELP_MEMZERO
mov rcx, qword ptr [rbp+0x10]
mov rcx, qword ptr [rbp+0x10]
mov rax, rcx
mov rax, rcx
test esi, esi
jle G_M000_IG06

G_M000_IG04: ;; offset=0x0074
xor ecx, ecx
xor ecx, ecx
align [0 bytes for IG05]
cmp ecx, esi
jge G_M000_IG05
align [0 bytes for IG04]


G_M000_IG05: ;; offset=0x0076
G_M000_IG04: ;; offset=0x0076
mov edx, dword ptr [rbx+rcx]
mov edx, dword ptr [rbx+4*rcx]
cmp edx, dword ptr [rdi+0x08]
cmp edx, dword ptr [rdi+0x08]
jae G_M000_IG10
jae G_M000_IG08
mov r8d, edx
mov r8d, edx
shl r8, 4
shl r8, 4
lea r10, bword ptr [rdi+r8+0x10]
lea r10, bword ptr [rdi+r8+0x10]
cmp byte ptr [r10], r10b
cmp byte ptr [r10], r10b
cmp r14d, 4
cmp r14d, 4
jae G_M000_IG09
jae G_M000_IG09
mov r9d, r14d
mov r9d, r14d
vmovss xmm0, dword ptr [r10+4*r9]
mov r11d, r9d
vmovss xmm0, dword ptr [r10+4*r11]
cmp edx, dword ptr [r15+0x08]
cmp edx, dword ptr [r15+0x08]
jae G_M000_IG10
jae G_M000_IG08
lea rdx, bword ptr [r15+r8+0x10]
lea rdx, bword ptr [r15+r8+0x10]
vaddss xmm0, xmm0, dword ptr [rdx+4*r9]
mov r8d, r9d
vaddss xmm0, xmm0, dword ptr [rdx+4*r8]
vmovd edx, xmm0
vmovd edx, xmm0
mov r8d, edx
mov r8d, edx
sar r8d, 31
sar r8d, 31
or r8d, 0xFFFFFFFF80000000
or r8d, 0xFFFFFFFF80000000
xor r8d, edx
xor r8d, edx
mov edx, r8d
mov edx, r8d
and edx, 0x7FF
and edx, 0x7FF
lea rdx, [rax+4*rdx]
lea rdx, [rax+4*rdx]
inc dword ptr [rdx]
inc dword ptr [rdx]
mov edx, r8d
mov edx, r8d
shr edx, 11
shr edx, 11
and edx, 0x7FF
and edx, 0x7FF
lea rdx, [rax+4*rdx+0x2000]
lea rdx, [rax+4*rdx+0x2000]
inc dword ptr [rdx]
inc dword ptr [rdx]
shr r8d, 22
shr r8d, 22
and r8d, 0x7FF
and r8d, 0x7FF
mov edx, r8d
mov edx, r8d
lea rdx, [rax+4*rdx+0x4000]
lea rdx, [rax+4*rdx+0x4000]
inc dword ptr [rdx]
inc dword ptr [rdx]
add rcx, 4
inc ecx
dec esi
cmp ecx, esi
jne G_M000_IG05
jl G_M000_IG04


G_M000_IG06: ;; offset=0x0117
G_M000_IG05: ;; offset=0x011B
mov rcx, 0xD36B005D45F
mov r8, 0xECEDDBE39D1F
cmp qword ptr [rbp+0x08], rcx
cmp qword ptr [rbp+0x08], r8
je SHORT G_M000_IG07
je SHORT G_M000_IG06
call CORINFO_HELP_FAIL_FAST
call CORINFO_HELP_FAIL_FAST


G_M000_IG07: ;; offset=0x012C
G_M000_IG06: ;; offset=0x0130
nop
nop


G_M000_IG08: ;; offset=0x012D
G_M000_IG07: ;; offset=0x0131
lea rsp, [rbp+0x18]
lea rsp, [rbp+0x18]
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret


G_M000_IG09: ;; offset=0x013A
G_M000_IG08: ;; offset=0x013E
call CORINFO_HELP_THROW_ARGUMENTOUTOFRANGEEXCEPTION
call CORINFO_HELP_RNGCHKFAIL
int3
int3


G_M000_IG10: ;; offset=0x0140
G_M000_IG09: ;; offset=0x0144
call CORINFO_HELP_RNGCHKFAIL
call CORINFO_HELP_THROW_ARGUMENTOUTOFRANGEEXCEPTION
int3
int3
; Total bytes of code: 326
; Total bytes of code: 330