Untitled Diff

Created Diff never expires
23 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
63 lines
50 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
90 lines
; Assembly listing for method System.Linq.Parallel.JaggedArray`1[Vector`1][System.Numerics.Vector`1[System.Single]]:Allocate(int,int):System.Numerics.Vector`1[System.Single][][]
; Assembly listing for method System.Linq.Parallel.JaggedArray`1[Vector`1][System.Numerics.Vector`1[System.Single]]:Allocate(int,int):System.Numerics.Vector`1[System.Single][][]
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T02] ( 5, 8 ) int -> rsi
; V00 arg0 [V00,T02] ( 8, 14 ) int -> rsi
; V01 arg1 [V01,T04] ( 3, 3 ) int -> rdi
; V01 arg1 [V01,T04] ( 4, 10 ) int -> rdi
; V02 loc0 [V02,T03] ( 3, 6 ) ref -> rbx class-hnd exact
; V02 loc0 [V02,T03] ( 6, 15 ) ref -> rbx class-hnd exact
; V03 loc1 [V03,T00] ( 5, 17 ) int -> rbp
; V03 loc1 [V03,T00] ( 10, 37 ) int -> rbp
; V04 OutArgs [V04 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
; V04 OutArgs [V04 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
; V05 tmp1 [V05,T01] ( 2, 16 ) ref -> r8 "argument with side effect"
; V05 tmp1 [V05,T01] ( 4, 32 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store"
; V06 cse0 [V06,T05] ( 2, 5 ) long -> rdi "CSE - aggressive"
;
;
; Lcl frame size = 40
; Lcl frame size = 40


G_M4154_IG01:
G_M4154_IG01:
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp, 40
sub rsp, 40
mov esi, ecx
mov esi, ecx
mov edi, edx
mov edi, edx
;; bbWeight=1 PerfScore 4.75
;; bbWeight=1 PerfScore 4.75
G_M4154_IG02:
G_M4154_IG02:
movsxd rdx, esi
movsxd rdx, esi
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov rbx, rax
mov rbx, rax
xor ebp, ebp
xor ebp, ebp
test esi, esi
test esi, esi
jle SHORT G_M4154_IG04
jle SHORT G_M4154_IG06
movsxd rdi, edi
cmp dword ptr [rbx+8], esi
;; bbWeight=1 PerfScore 3.50
setge dl
movzx rdx, dl
test esi, esi
setge cl
movzx rcx, cl
test edx, ecx
je SHORT G_M4154_IG05
;; bbWeight=1 PerfScore 9.25
G_M4154_IG03:
G_M4154_IG03:
mov rdx, rdi
movsxd rdx, edi
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
call CORINFO_HELP_NEWARR_1_VC
call CORINFO_HELP_NEWARR_1_VC
mov r8, rax
movsxd rdx, ebp
mov edx, ebp
lea rcx, bword ptr [rbx+8*rdx+16]
mov rcx, rbx
mov rdx, rax
call CORINFO_HELP_ARRADDR_ST
call CORINFO_HELP_ASSIGN_REF
inc ebp
inc ebp
cmp ebp, esi
cmp ebp, esi
jl SHORT G_M4154_IG03
jl SHORT G_M4154_IG03
;; bbWeight=4 PerfScore 19.00
;; bbWeight=4 PerfScore 22.00
G_M4154_IG04:
G_M4154_IG04:
jmp SHORT G_M4154_IG06
;; bbWeight=1 PerfScore 2.00
G_M4154_IG05:
movsxd rdx, edi
mov rcx, 0xD1FFAB1E
call CORINFO_HELP_NEWARR_1_VC
cmp ebp, dword ptr [rbx+8]
jae SHORT G_M4154_IG08
movsxd rdx, ebp
lea rcx, bword ptr [rbx+8*rdx+16]
mov rdx, rax
call CORINFO_HELP_ASSIGN_REF
inc ebp
cmp ebp, esi
jl SHORT G_M4154_IG05
;; bbWeight=4 PerfScore 34.00
G_M4154_IG06:
mov rax, rbx
mov rax, rbx
;; bbWeight=1 PerfScore 0.25
;; bbWeight=1 PerfScore 0.25
G_M4154_IG05:
G_M4154_IG07:
add rsp, 40
add rsp, 40
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; bbWeight=1 PerfScore 3.25
;; bbWeight=1 PerfScore 3.25
G_M4154_IG08:
call CORINFO_HELP_RNGCHKFAIL
int3
;; bbWeight=0 PerfScore 0.00


; Total bytes of code 91, prolog size 12, PerfScore 39.85, (MethodHash=e865efc5) for method System.Linq.Parallel.JaggedArray`1[Vector`1][System.Numerics.Vector`1[System.Single]]:Allocate(int,int):System.Numerics.Vector`1[System.Single][][]
; Total bytes of code 165, prolog size 12, PerfScore 92.00, (MethodHash=e865efc5) for method System.Linq.Parallel.JaggedArray`1[Vector`1][System.Numerics.Vector`1[System.Single]]:Allocate(int,int):System.Numerics.Vector`1[System.Single][][]
; ============================================================
; ============================================================