forked from MihaZupan/runtime-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JitDiff X64] [xtqqczze] Use GetArrayDataReference
in Vector*
#488
Comments
Top method regressions29 (116.00 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
-; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def
+; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def
;* V01 arg0 [V01 ] ( 0, 0 ) struct (16) zero-ref single-def <System.Runtime.Intrinsics.Vector128`1[System.__Canon]>
; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP
-;* V12 tmp9 [V12 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local"
+;* V12 tmp9 [V12,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V13 tmp10 [V13 ] ( 0, 0 ) byref -> zero-ref "BlockOp address local"
+;* V14 rat0 [V14,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V15 rat1 [V15,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V16 rat2 [V16,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V17 rat3 [V17,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M23152_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M23152_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x88]
+ test rdi, rdi
+ je SHORT G_M23152_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M23152_IG03:
mov edi, dword ptr [rsi+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=fb03a58f) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=fb03a58f) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts) 29 (116.00 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def
-; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 loc1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M59324_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rsi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M59324_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xA0]
+ test rdi, rdi
+ je SHORT G_M59324_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M59324_IG03:
mov edi, dword ptr [rdx+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=ec911843) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
+; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=ec911843) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts) 29 (116.00 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
-; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def
+; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def
;* V01 arg0 [V01 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] single-def <System.Runtime.Intrinsics.Vector256`1[System.__Canon]>
; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M9626_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M9626_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x80]
+ test rdi, rdi
+ je SHORT G_M9626_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M9626_IG03:
mov edi, dword ptr [rsi+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=57a4da65) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=57a4da65) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts) 29 (116.00 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def
-; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 loc1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M1942_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rsi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M1942_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x98]
+ test rdi, rdi
+ je SHORT G_M1942_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M1942_IG03:
mov edi, dword ptr [rdx+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=f020f869) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
+; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=f020f869) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts) 29 (116.00 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
-; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def
+; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def
;* V01 arg0 [V01 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[S] single-def <System.Runtime.Intrinsics.Vector512`1[System.__Canon]>
; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M25821_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M25821_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x80]
+ test rdi, rdi
+ je SHORT G_M25821_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M25821_IG03:
mov edi, dword ptr [rsi+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=fed49b22) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=fed49b22) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts) 29 (116.00 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def
-; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 loc1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M49233_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rsi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M49233_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x98]
+ test rdi, rdi
+ je SHORT G_M49233_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M49233_IG03:
mov edi, dword ptr [rdx+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=19413fae) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
+; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=19413fae) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts) 29 (116.00 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 RetBuf [V00 ] ( 0, 0 ) byref -> zero-ref single-def
-; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 loc1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V11 rat0 [V11,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V12 rat1 [V12,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V13 rat2 [V13,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V14 rat3 [V14,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M52357_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rsi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M52357_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x80]
+ test rdi, rdi
+ je SHORT G_M52357_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M52357_IG03:
mov edi, dword ptr [rdx+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=631a337a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
+; Total bytes of code 54, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 54 (MethodHash=631a337a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts) 26 (104.00 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
-; V00 TypeCtx [V00,T00] ( 3, 3 ) long -> rdi single-def
+; V00 TypeCtx [V00,T00] ( 4, 3 ) long -> rdi single-def
;* V01 arg0 [V01 ] ( 0, 0 ) struct ( 8) zero-ref single-def <System.Runtime.Intrinsics.Vector64`1[System.__Canon]>
; V02 arg1 [V02,T01] ( 3, 2 ) ref -> rsi class-hnd single-def <System.__Canon[]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 tmp1 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V05 tmp2 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V07 tmp4 [V07 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP
+;* V11 tmp8 [V11,T02] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V12 rat0 [V12,T03] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V13 rat1 [V13,T04] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V14 rat2 [V14,T06] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V15 rat3 [V15,T05] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M28585_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=0 PerfScore 0.00
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M28585_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x68]
+ test rdi, rdi
+ je SHORT G_M28585_IG03
+ ;; size=16 bbWeight=0 PerfScore 0.00
+G_M28585_IG03:
mov edi, dword ptr [rsi+0x08]
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=21 bbWeight=0 PerfScore 0.00
-; Total bytes of code 25, prolog size 4, PerfScore 0.00, instruction count 7, allocated bytes for code 25 (MethodHash=da809056) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 15, allocated bytes for code 51 (MethodHash=da809056) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts) |
Top method improvements-2 (-5.13 % of base) - System.Numerics.Vector`1[double]:.ctor(double[]):this ; Assembly listing for method System.Numerics.Vector`1[double]:.ctor(double[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <double[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M58252_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M58252_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 4
+ cmp dword ptr [rsi+0x08], 4
jl SHORT G_M58252_IG04
vmovups ymm0, ymmword ptr [rsi+0x10]
vmovups ymmword ptr [rdi], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M58252_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M58252_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=bd9c1c73) for method System.Numerics.Vector`1[double]:.ctor(double[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=bd9c1c73) for method System.Numerics.Vector`1[double]:.ctor(double[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[double]:CopyTo(double[]):this ; Assembly listing for method System.Numerics.Vector`1[double]:CopyTo(double[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <double[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M18422_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M18422_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 4
+ cmp dword ptr [rsi+0x08], 4
jl SHORT G_M18422_IG04
vmovups ymm0, ymmword ptr [rdi]
vmovups ymmword ptr [rsi+0x10], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M18422_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M18422_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=1f2fb809) for method System.Numerics.Vector`1[double]:CopyTo(double[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=1f2fb809) for method System.Numerics.Vector`1[double]:CopyTo(double[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[int]:.ctor(int[]):this ; Assembly listing for method System.Numerics.Vector`1[int]:.ctor(int[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <int[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M12300_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M12300_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 8
+ cmp dword ptr [rsi+0x08], 8
jl SHORT G_M12300_IG04
vmovups ymm0, ymmword ptr [rsi+0x10]
vmovups ymmword ptr [rdi], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M12300_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M12300_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=f1dccff3) for method System.Numerics.Vector`1[int]:.ctor(int[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=f1dccff3) for method System.Numerics.Vector`1[int]:.ctor(int[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[int]:CopyTo(int[]):this ; Assembly listing for method System.Numerics.Vector`1[int]:CopyTo(int[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <int[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M29430_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M29430_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 8
+ cmp dword ptr [rsi+0x08], 8
jl SHORT G_M29430_IG04
vmovups ymm0, ymmword ptr [rdi]
vmovups ymmword ptr [rsi+0x10], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M29430_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M29430_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=57a68d09) for method System.Numerics.Vector`1[int]:CopyTo(int[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=57a68d09) for method System.Numerics.Vector`1[int]:CopyTo(int[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[long]:.ctor(long[]):this ; Assembly listing for method System.Numerics.Vector`1[long]:.ctor(long[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <long[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M32780_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M32780_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 4
+ cmp dword ptr [rsi+0x08], 4
jl SHORT G_M32780_IG04
vmovups ymm0, ymmword ptr [rsi+0x10]
vmovups ymmword ptr [rdi], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M32780_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M32780_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=87327ff3) for method System.Numerics.Vector`1[long]:.ctor(long[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=87327ff3) for method System.Numerics.Vector`1[long]:.ctor(long[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[long]:CopyTo(long[]):this ; Assembly listing for method System.Numerics.Vector`1[long]:CopyTo(long[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <long[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M49046_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M49046_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 4
+ cmp dword ptr [rsi+0x08], 4
jl SHORT G_M49046_IG04
vmovups ymm0, ymmword ptr [rdi]
vmovups ymmword ptr [rsi+0x10], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M49046_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M49046_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=db034069) for method System.Numerics.Vector`1[long]:CopyTo(long[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=db034069) for method System.Numerics.Vector`1[long]:CopyTo(long[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[short]:.ctor(short[]):this ; Assembly listing for method System.Numerics.Vector`1[short]:.ctor(short[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <short[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M50924_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M50924_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 16
+ cmp dword ptr [rsi+0x08], 16
jl SHORT G_M50924_IG04
vmovups ymm0, ymmword ptr [rsi+0x10]
vmovups ymmword ptr [rdi], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M50924_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M50924_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=183e3913) for method System.Numerics.Vector`1[short]:.ctor(short[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=183e3913) for method System.Numerics.Vector`1[short]:.ctor(short[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[short]:CopyTo(short[]):this ; Assembly listing for method System.Numerics.Vector`1[short]:CopyTo(short[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <short[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M6710_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M6710_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 16
+ cmp dword ptr [rsi+0x08], 16
jl SHORT G_M6710_IG04
vmovups ymm0, ymmword ptr [rdi]
vmovups ymmword ptr [rsi+0x10], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M6710_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M6710_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=654ce5c9) for method System.Numerics.Vector`1[short]:CopyTo(short[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=654ce5c9) for method System.Numerics.Vector`1[short]:CopyTo(short[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[ubyte]:.ctor(ubyte[]):this ; Assembly listing for method System.Numerics.Vector`1[ubyte]:.ctor(ubyte[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <ubyte[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M13964_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M13964_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 32
+ cmp dword ptr [rsi+0x08], 32
jl SHORT G_M13964_IG04
vmovups ymm0, ymmword ptr [rsi+0x10]
vmovups ymmword ptr [rdi], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M13964_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M13964_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=9705c973) for method System.Numerics.Vector`1[ubyte]:.ctor(ubyte[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=9705c973) for method System.Numerics.Vector`1[ubyte]:.ctor(ubyte[]):this (FullOpts) -2 (-5.13 % of base) - System.Numerics.Vector`1[ubyte]:CopyTo(ubyte[]):this ; Assembly listing for method System.Numerics.Vector`1[ubyte]:CopyTo(ubyte[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <ubyte[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M11254_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M11254_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 32
+ cmp dword ptr [rsi+0x08], 32
jl SHORT G_M11254_IG04
vmovups ymm0, ymmword ptr [rdi]
vmovups ymmword ptr [rsi+0x10], ymm0
- ;; size=17 bbWeight=1 PerfScore 10.25
+ ;; size=15 bbWeight=1 PerfScore 11.00
G_M11254_IG03:
vzeroupper
add rsp, 8
ret
;; size=8 bbWeight=1 PerfScore 2.25
G_M11254_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 13.50, instruction count 12, allocated bytes for code 39 (MethodHash=c3dcd409) for method System.Numerics.Vector`1[ubyte]:CopyTo(ubyte[]):this (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 14.25, instruction count 11, allocated bytes for code 37 (MethodHash=c3dcd409) for method System.Numerics.Vector`1[ubyte]:CopyTo(ubyte[]):this (FullOpts) -2 (-5.56 % of base) - System.Numerics.Vector2:CopyTo(float[]):this ; Assembly listing for method System.Numerics.Vector2:CopyTo(float[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <float[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M12547_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M12547_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 2
+ cmp dword ptr [rsi+0x08], 2
jl SHORT G_M12547_IG04
vmovsd xmm0, qword ptr [rdi]
vmovsd qword ptr [rsi+0x10], xmm0
- ;; size=17 bbWeight=1 PerfScore 9.25
+ ;; size=15 bbWeight=1 PerfScore 10.00
G_M12547_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M12547_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 36, prolog size 1, PerfScore 11.50, instruction count 11, allocated bytes for code 36 (MethodHash=57a1cefc) for method System.Numerics.Vector2:CopyTo(float[]):this (FullOpts)
+; Total bytes of code 34, prolog size 1, PerfScore 12.25, instruction count 10, allocated bytes for code 34 (MethodHash=57a1cefc) for method System.Numerics.Vector2:CopyTo(float[]):this (FullOpts) -2 (-4.00 % of base) - System.Numerics.Vector3:CopyTo(float[]):this ; Assembly listing for method System.Numerics.Vector3:CopyTo(float[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <float[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M55650_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M55650_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 3
+ cmp dword ptr [rsi+0x08], 3
jl SHORT G_M55650_IG04
vmovsd xmm0, qword ptr [rdi]
vinsertps xmm0, xmm0, dword ptr [rdi+0x08], 40
vmovsd qword ptr [rsi+0x10], xmm0
vextractps dword ptr [rsi+0x18], xmm0, 2
- ;; size=31 bbWeight=1 PerfScore 16.25
+ ;; size=29 bbWeight=1 PerfScore 17.00
G_M55650_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M55650_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 50, prolog size 1, PerfScore 18.50, instruction count 13, allocated bytes for code 50 (MethodHash=c13a269d) for method System.Numerics.Vector3:CopyTo(float[]):this (FullOpts)
+; Total bytes of code 48, prolog size 1, PerfScore 19.25, instruction count 12, allocated bytes for code 48 (MethodHash=c13a269d) for method System.Numerics.Vector3:CopyTo(float[]):this (FullOpts) -2 (-5.56 % of base) - System.Numerics.Vector4:CopyTo(float[]):this ; Assembly listing for method System.Numerics.Vector4:CopyTo(float[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rsi class-hnd single-def <float[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T03] ( 2, 4 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[float]>
-; V04 cse0 [V04,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
+; V03 tmp1 [V03,T02] ( 2, 4 ) simd16 -> mm0 "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[float]>
;
; Lcl frame size = 8
G_M4677_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M4677_IG02:
vmovups xmm0, xmmword ptr [rdi]
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 4
+ cmp dword ptr [rsi+0x08], 4
jl SHORT G_M4677_IG04
vmovups xmmword ptr [rsi+0x10], xmm0
- ;; size=17 bbWeight=1 PerfScore 9.25
+ ;; size=15 bbWeight=1 PerfScore 10.00
G_M4677_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M4677_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 36, prolog size 1, PerfScore 11.50, instruction count 11, allocated bytes for code 36 (MethodHash=a38dedba) for method System.Numerics.Vector4:CopyTo(float[]):this (FullOpts)
+; Total bytes of code 34, prolog size 1, PerfScore 12.25, instruction count 10, allocated bytes for code 34 (MethodHash=a38dedba) for method System.Numerics.Vector4:CopyTo(float[]):this (FullOpts) -2 (-5.26 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[double](System.Runtime.Intrinsics.Vector128`1[double],double[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[double](System.Runtime.Intrinsics.Vector128`1[double],double[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T02] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[double]>
+; V00 arg0 [V00,T01] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[double]>
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rdi class-hnd single-def <double[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T01] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M2705_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M2705_IG02:
- mov eax, dword ptr [rdi+0x08]
- cmp eax, 2
+ cmp dword ptr [rdi+0x08], 2
jl SHORT G_M2705_IG04
vmovaps xmm0, xmmword ptr [rsp+0x10]
vmovups xmmword ptr [rdi+0x10], xmm0
- ;; size=19 bbWeight=1 PerfScore 8.25
+ ;; size=17 bbWeight=1 PerfScore 9.00
G_M2705_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M2705_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 38, prolog size 1, PerfScore 10.50, instruction count 11, allocated bytes for code 38 (MethodHash=fe11f56e) for method System.Runtime.Intrinsics.Vector128:CopyTo[double](System.Runtime.Intrinsics.Vector128`1[double],double[]) (FullOpts)
+; Total bytes of code 36, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 36 (MethodHash=fe11f56e) for method System.Runtime.Intrinsics.Vector128:CopyTo[double](System.Runtime.Intrinsics.Vector128`1[double],double[]) (FullOpts) -2 (-5.26 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[int](System.Runtime.Intrinsics.Vector128`1[int],int[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[int](System.Runtime.Intrinsics.Vector128`1[int],int[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T02] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[int]>
+; V00 arg0 [V00,T01] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[int]>
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rdi class-hnd single-def <int[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T01] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M33719_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M33719_IG02:
- mov eax, dword ptr [rdi+0x08]
- cmp eax, 4
+ cmp dword ptr [rdi+0x08], 4
jl SHORT G_M33719_IG04
vmovaps xmm0, xmmword ptr [rsp+0x10]
vmovups xmmword ptr [rdi+0x10], xmm0
- ;; size=19 bbWeight=1 PerfScore 8.25
+ ;; size=17 bbWeight=1 PerfScore 9.00
G_M33719_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M33719_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 38, prolog size 1, PerfScore 10.50, instruction count 11, allocated bytes for code 38 (MethodHash=779a7c48) for method System.Runtime.Intrinsics.Vector128:CopyTo[int](System.Runtime.Intrinsics.Vector128`1[int],int[]) (FullOpts)
+; Total bytes of code 36, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 36 (MethodHash=779a7c48) for method System.Runtime.Intrinsics.Vector128:CopyTo[int](System.Runtime.Intrinsics.Vector128`1[int],int[]) (FullOpts) -2 (-5.26 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[long](System.Runtime.Intrinsics.Vector128`1[long],long[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[long](System.Runtime.Intrinsics.Vector128`1[long],long[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T02] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[long]>
+; V00 arg0 [V00,T01] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[long]>
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rdi class-hnd single-def <long[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T01] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M58126_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M58126_IG02:
- mov eax, dword ptr [rdi+0x08]
- cmp eax, 2
+ cmp dword ptr [rdi+0x08], 2
jl SHORT G_M58126_IG04
vmovaps xmm0, xmmword ptr [rsp+0x10]
vmovups xmmword ptr [rdi+0x10], xmm0
- ;; size=19 bbWeight=1 PerfScore 8.25
+ ;; size=17 bbWeight=1 PerfScore 9.00
G_M58126_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M58126_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 38, prolog size 1, PerfScore 10.50, instruction count 11, allocated bytes for code 38 (MethodHash=3a0c1cf1) for method System.Runtime.Intrinsics.Vector128:CopyTo[long](System.Runtime.Intrinsics.Vector128`1[long],long[]) (FullOpts)
+; Total bytes of code 36, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 36 (MethodHash=3a0c1cf1) for method System.Runtime.Intrinsics.Vector128:CopyTo[long](System.Runtime.Intrinsics.Vector128`1[long],long[]) (FullOpts) -2 (-5.26 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[short](System.Runtime.Intrinsics.Vector128`1[short],short[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[short](System.Runtime.Intrinsics.Vector128`1[short],short[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T02] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[short]>
+; V00 arg0 [V00,T01] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[short]>
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rdi class-hnd single-def <short[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T01] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M57782_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M57782_IG02:
- mov eax, dword ptr [rdi+0x08]
- cmp eax, 8
+ cmp dword ptr [rdi+0x08], 8
jl SHORT G_M57782_IG04
vmovaps xmm0, xmmword ptr [rsp+0x10]
vmovups xmmword ptr [rdi+0x10], xmm0
- ;; size=19 bbWeight=1 PerfScore 8.25
+ ;; size=17 bbWeight=1 PerfScore 9.00
G_M57782_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M57782_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 38, prolog size 1, PerfScore 10.50, instruction count 11, allocated bytes for code 38 (MethodHash=69f61e49) for method System.Runtime.Intrinsics.Vector128:CopyTo[short](System.Runtime.Intrinsics.Vector128`1[short],short[]) (FullOpts)
+; Total bytes of code 36, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 36 (MethodHash=69f61e49) for method System.Runtime.Intrinsics.Vector128:CopyTo[short](System.Runtime.Intrinsics.Vector128`1[short],short[]) (FullOpts) -2 (-5.26 % of base) - System.Runtime.Intrinsics.Vector128:CopyTo[ubyte](System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) ; Assembly listing for method System.Runtime.Intrinsics.Vector128:CopyTo[ubyte](System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T02] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V00 arg0 [V00,T01] ( 1, 1 ) simd16 -> [rsp+0x10] single-def <System.Runtime.Intrinsics.Vector128`1[ubyte]>
; V01 arg1 [V01,T00] ( 4, 4 ) ref -> rdi class-hnd single-def <ubyte[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T01] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M32187_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M32187_IG02:
- mov eax, dword ptr [rdi+0x08]
- cmp eax, 16
+ cmp dword ptr [rdi+0x08], 16
jl SHORT G_M32187_IG04
vmovaps xmm0, xmmword ptr [rsp+0x10]
vmovups xmmword ptr [rdi+0x10], xmm0
- ;; size=19 bbWeight=1 PerfScore 8.25
+ ;; size=17 bbWeight=1 PerfScore 9.00
G_M32187_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M32187_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 38, prolog size 1, PerfScore 10.50, instruction count 11, allocated bytes for code 38 (MethodHash=f2a28244) for method System.Runtime.Intrinsics.Vector128:CopyTo[ubyte](System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) (FullOpts)
+; Total bytes of code 36, prolog size 1, PerfScore 11.25, instruction count 10, allocated bytes for code 36 (MethodHash=f2a28244) for method System.Runtime.Intrinsics.Vector128:CopyTo[ubyte](System.Runtime.Intrinsics.Vector128`1[ubyte],ubyte[]) (FullOpts) -2 (-5.13 % of base) - System.Runtime.Intrinsics.Vector128:Create[double](double[]):System.Runtime.Intrinsics.Vector128`1[double] ; Assembly listing for method System.Runtime.Intrinsics.Vector128:Create[double](double[]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 RetBuf [V00,T00] ( 4, 4 ) byref -> rdi single-def
; V01 arg0 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def <double[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M413_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M413_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 2
+ cmp dword ptr [rsi+0x08], 2
jl SHORT G_M413_IG04
vmovups xmm0, xmmword ptr [rsi+0x10]
vmovups xmmword ptr [rdi], xmm0
mov rax, rdi
- ;; size=20 bbWeight=1 PerfScore 9.50
+ ;; size=18 bbWeight=1 PerfScore 10.25
G_M413_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M413_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 11.75, instruction count 12, allocated bytes for code 39 (MethodHash=6509fe62) for method System.Runtime.Intrinsics.Vector128:Create[double](double[]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 12.50, instruction count 11, allocated bytes for code 37 (MethodHash=6509fe62) for method System.Runtime.Intrinsics.Vector128:Create[double](double[]):System.Runtime.Intrinsics.Vector128`1[double] (FullOpts) -2 (-5.13 % of base) - System.Runtime.Intrinsics.Vector128:Create[int](int[]):System.Runtime.Intrinsics.Vector128`1[int] ; Assembly listing for method System.Runtime.Intrinsics.Vector128:Create[int](int[]):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rsp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 RetBuf [V00,T00] ( 4, 4 ) byref -> rdi single-def
; V01 arg0 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def <int[]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 cse0 [V03,T02] ( 2, 2 ) int -> rax "CSE #01: aggressive"
;
; Lcl frame size = 8
G_M62619_IG01:
push rax
;; size=1 bbWeight=1 PerfScore 1.00
G_M62619_IG02:
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 4
+ cmp dword ptr [rsi+0x08], 4
jl SHORT G_M62619_IG04
vmovups xmm0, xmmword ptr [rsi+0x10]
vmovups xmmword ptr [rdi], xmm0
mov rax, rdi
- ;; size=20 bbWeight=1 PerfScore 9.50
+ ;; size=18 bbWeight=1 PerfScore 10.25
G_M62619_IG03:
add rsp, 8
ret
;; size=5 bbWeight=1 PerfScore 1.25
G_M62619_IG04:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessOrEqualException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 39, prolog size 1, PerfScore 11.75, instruction count 12, allocated bytes for code 39 (MethodHash=077b0b64) for method System.Runtime.Intrinsics.Vector128:Create[int](int[]):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts)
+; Total bytes of code 37, prolog size 1, PerfScore 12.50, instruction count 11, allocated bytes for code 37 (MethodHash=077b0b64) for method System.Runtime.Intrinsics.Vector128:Create[int](int[]):System.Runtime.Intrinsics.Vector128`1[int] (FullOpts) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Job completed in 14 minutes.
dotnet/runtime#104532
Diffs
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: