Untitled Diff

Created Diff never expires
44 removals
45 lines
30 additions
37 lines
; Assembly listing for method System.Numerics.Vector:Divide[int](System.Numerics.Vector`1[int],int):System.Numerics.Vector`1[int]
; Assembly listing for method System.Numerics.Vector:Divide[int](System.Numerics.Vector`1[int],int):System.Numerics.Vector`1[int]


G_M18406_IG01:
G_M18406_IG01:
push rdi
sub rsp, 88
push rsi
push rbx
sub rsp, 96
vzeroupper
vzeroupper
mov rdi, rcx
;; size=7 bbWeight=1 PerfScore 1.25
mov esi, r8d
;; size=16 bbWeight=1 PerfScore 4.75
G_M18406_IG02:
G_M18406_IG02:
vmovupd ymm0, ymmword ptr[rdx]
vmovupd ymm0, ymmword ptr[rdx]
vmovupd ymmword ptr[rsp+20H], ymm0
vmovupd ymmword ptr[rsp], ymm0
xor ebx, ebx
xor r9d, r9d
align [0 bytes for IG03]
;; size=12 bbWeight=1 PerfScore 6.25
;; size=12 bbWeight=1 PerfScore 6.25
G_M18406_IG03:
G_M18406_IG03:
lea rcx, bword ptr [rsp+20H]
lea rax, bword ptr [rsp]
movsxd rdx, ebx
movsxd r10, r9d
mov ecx, dword ptr [rcx+4*rdx]
mov eax, dword ptr [rax+4*r10]
mov edx, esi
cdq
call [System.Runtime.Intrinsics.Scalar`1[int]:Divide(int,int):int]
idiv edx:eax, r8d
lea rdx, bword ptr [rsp+40H]
lea rdx, bword ptr [rsp+20H]
movsxd rcx, ebx
mov dword ptr [rdx+4*r10], eax
mov dword ptr [rdx+4*rcx], eax
inc r9d
inc ebx
cmp r9d, 8
cmp ebx, 8
jl SHORT G_M18406_IG03
jl SHORT G_M18406_IG03
;; size=37 bbWeight=4 PerfScore 37.00
;; size=33 bbWeight=4 PerfScore 125.00
G_M18406_IG04:
G_M18406_IG04:
vmovupd ymm0, ymmword ptr[rsp+40H]
vmovupd ymm0, ymmword ptr[rsp+20H]
vmovupd ymmword ptr[rdi], ymm0
vmovupd ymmword ptr[rcx], ymm0
mov rax, rdi
mov rax, rcx
;; size=13 bbWeight=1 PerfScore 6.25
;; size=13 bbWeight=1 PerfScore 6.25
G_M18406_IG05:
G_M18406_IG05:
vzeroupper
vzeroupper
add rsp, 96
add rsp, 88
pop rbx
pop rsi
pop rdi
ret
ret
;; size=11 bbWeight=1 PerfScore 3.75
;; size=8 bbWeight=1 PerfScore 2.25


; Total bytes of code 89, prolog size 10, PerfScore 67.30, instruction count 30, allocated bytes for code 93 (MethodHash=0bb9b819) for method System.Numerics.Vector:Divide[int](System.Numerics.Vector`1[int],int):System.Numerics.Vector`1[int]
; Total bytes of code 73, prolog size 7, PerfScore 148.70, instruction count 22, allocated bytes for code 77 (MethodHash=0bb9b819) for method System.Numerics.Vector:Divide[int](System.Numerics.Vector`1[int],int):System.Numerics.Vector`1[int]
; ============================================================
; ============================================================