32 (168.42 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte
; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
-; rsp based frame
+; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP
-; V16 tmp13 [V16,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V17 tmp14 [V17,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
-;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP
+; V21 tmp18 [V21,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V22 tmp19 [V22,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp22 [V25 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp23 [V26 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
+;* V27 tmp24 [V27,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V28 rat0 [V28,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V29 rat1 [V29,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V30 rat2 [V30,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V31 rat3 [V31,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M24828_IG01:
- push rax
- ;; size=1 bbWeight=0 PerfScore 0.00
+ push rbp
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M24828_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x228]
+ test rdi, rdi
+ je SHORT G_M24828_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M24828_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=53719f03) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=53719f03) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
32 (168.42 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte
; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
-; rsp based frame
+; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-; V14 tmp11 [V14,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V15 tmp12 [V15,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V19 tmp16 [V19,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V20 tmp17 [V20,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp22 [V25,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V26 rat0 [V26,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V27 rat1 [V27,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V28 rat2 [V28,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V29 rat3 [V29,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M38998_IG01:
- push rax
- ;; size=1 bbWeight=0 PerfScore 0.00
+ push rbp
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M38998_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x228]
+ test rdi, rdi
+ je SHORT G_M38998_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M38998_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=3d3467a9) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=3d3467a9) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
32 (168.42 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte
; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
-; rsp based frame
+; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-; V14 tmp11 [V14,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V15 tmp12 [V15,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V19 tmp16 [V19,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V20 tmp17 [V20,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp22 [V25,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V26 rat0 [V26,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V27 rat1 [V27,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V28 rat2 [V28,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V29 rat3 [V29,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M37873_IG01:
- push rax
- ;; size=1 bbWeight=0 PerfScore 0.00
+ push rbp
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M37873_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x228]
+ test rdi, rdi
+ je SHORT G_M37873_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M37873_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=68d26c0e) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=68d26c0e) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
32 (168.42 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte
; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
-; rsp based frame
+; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V13 tmp10 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP
-; V15 tmp12 [V15,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V16 tmp13 [V16,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
-;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP
+; V20 tmp17 [V20,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V21 tmp18 [V21,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
+;* V26 tmp23 [V26,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V27 rat0 [V27,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V28 rat1 [V28,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V29 rat2 [V29,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V30 rat3 [V30,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M48357_IG01:
- push rax
- ;; size=1 bbWeight=0 PerfScore 0.00
+ push rbp
+ sub rsp, 16
+ lea rbp, [rsp+0x10]
+ mov qword ptr [rbp-0x08], rdi
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M48357_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x210]
+ test rdi, rdi
+ je SHORT G_M48357_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M48357_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 19, prolog size 1, PerfScore 0.00, instruction count 5, allocated bytes for code 19 (MethodHash=4db2431a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=4db2431a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.TryCopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[System.__Canon]):ubyte (FullOpts)
29 (131.82 % of base) - System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this
; Assembly listing for method System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (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; 4 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) byref -> zero-ref this single-def
-; V01 TypeCtx [V01,T00] ( 3, 3 ) long -> rsi single-def
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
;* V02 arg1 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[System.__Canon]>
;* V06 tmp3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
;* V07 tmp4 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.__Canon]>
;* 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 ) byref -> zero-ref single-def "Inlining Arg"
+;* V10 tmp7 [V10 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V14 tmp11 [V14 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V17 tmp14 [V17 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V18 tmp15 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-; V19 tmp16 [V19,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V20 tmp17 [V20,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
-;* V25 tmp22 [V25 ] ( 0, 0 ) byref -> zero-ref single-def "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V26 tmp23 [V26 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
-;* V27 tmp24 [V27 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V28 tmp25 [V28 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
-;* V29 tmp26 [V29 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V30 tmp27 [V30 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
+;* V18 tmp15 [V18 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V20 tmp17 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V21 tmp18 [V21 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V22 tmp19 [V22 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V24 tmp21 [V24,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V25 tmp22 [V25,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V26 tmp23 [V26 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V27 tmp24 [V27 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
+;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V29 tmp26 [V29 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
+;* V30 tmp27 [V30 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V31 tmp28 [V31 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V32 tmp29 [V32 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V33 tmp30 [V33 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V34 tmp31 [V34 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V35 tmp32 [V35 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
+;* V36 tmp33 [V36,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V37 rat0 [V37,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V38 rat1 [V38,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V39 rat2 [V39,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V40 rat3 [V40,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M16570_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_M16570_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x2A8]
+ test rdi, rdi
+ je SHORT G_M16570_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M16570_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=0a67bf45) for method System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=0a67bf45) for method System.Numerics.Vector`1[System.__Canon]:.ctor(System.Span`1[System.__Canon]):this (FullOpts)
29 (131.82 % of base) - System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon]
; Assembly listing for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.ReadOnlySpan`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M48017_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_M48017_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x110]
+ test rdi, rdi
+ je SHORT G_M48017_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M48017_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=6c88446e) for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=6c88446e) for method System.Numerics.Vector`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Numerics.Vector<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Numerics.Vector`1[System.__Canon] (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.Span`1[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.Span`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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP
-;* V14 tmp11 [V14 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP
-; V15 tmp12 [V15,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V16 tmp13 [V16,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V20 tmp17 [V20 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V18 tmp15 [V18 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP
+;* V19 tmp16 [V19 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP
+; V20 tmp17 [V20,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V21 tmp18 [V21,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V25 tmp22 [V25 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V26 tmp23 [V26,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V27 rat0 [V27,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V28 rat1 [V28,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V29 rat2 [V29,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V30 rat3 [V30,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M13830_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_M13830_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xB0]
+ test rdi, rdi
+ je SHORT G_M13830_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M13830_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=8b87c9f9) 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.Span`1[System.__Canon]) (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=8b87c9f9) 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.Span`1[System.__Canon]) (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[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.ReadOnlySpan`1[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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.ReadOnlySpan`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M45836_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_M45836_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xC8]
+ test rdi, rdi
+ je SHORT G_M45836_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M45836_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=9e2a4cf3) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=9e2a4cf3) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.Span`1[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.Span`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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M18860_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_M18860_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xA8]
+ test rdi, rdi
+ je SHORT G_M18860_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M18860_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=949ab653) 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.Span`1[System.__Canon]) (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=949ab653) 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.Span`1[System.__Canon]) (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[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.ReadOnlySpan`1[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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.ReadOnlySpan`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M35686_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_M35686_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xC0]
+ test rdi, rdi
+ je SHORT G_M35686_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M35686_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=0eca7499) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=0eca7499) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.Span`1[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.Span`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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M5003_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_M5003_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xA8]
+ test rdi, rdi
+ je SHORT G_M5003_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M5003_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=856aec74) 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.Span`1[System.__Canon]) (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=856aec74) 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.Span`1[System.__Canon]) (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[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.ReadOnlySpan`1[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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.ReadOnlySpan`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M4385_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_M4385_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xC0]
+ test rdi, rdi
+ je SHORT G_M4385_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M4385_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=411eeede) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=411eeede) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.Span`1[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.Span`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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
-;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V15 tmp12 [V15,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V19 tmp16 [V19 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V18 tmp15 [V18 ] ( 0, 0 ) long -> zero-ref single-def "field V01._00 (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T01] ( 1, 1 ) byref -> rsi single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V20 tmp17 [V20,T02] ( 1, 1 ) int -> rdx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V24 tmp21 [V24 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp22 [V25,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V26 rat0 [V26,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V27 rat1 [V27,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V28 rat2 [V28,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V29 rat3 [V29,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M39743_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_M39743_IG02:
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x90]
+ test rdi, rdi
+ je SHORT G_M39743_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M39743_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=564d64c0) 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.Span`1[System.__Canon]) (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=564d64c0) 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.Span`1[System.__Canon]) (FullOpts)
29 (131.82 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.ReadOnlySpan`1[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.ReadOnlySpan`1[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; 2 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 4 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 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.ReadOnlySpan`1[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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-;* V06 tmp3 [V06 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* 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 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V08 tmp5 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V09 tmp6 [V09 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
-;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
-; V13 tmp10 [V13,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
-; V14 tmp11 [V14,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
-;* V15 tmp12 [V15 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V16 tmp13 [V16 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[System.__Canon]>
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V17 tmp14 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V18 tmp15 [V18,T01] ( 1, 1 ) byref -> rdx single-def "field V02._reference (fldOffset=0x0)" P-INDEP
+; V19 tmp16 [V19,T02] ( 1, 1 ) int -> rcx single-def "field V02._length (fldOffset=0x8)" P-INDEP
+;* V20 tmp17 [V20 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V21 tmp18 [V21 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+;* V22 tmp19 [V22 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V23 tmp20 [V23 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V24 tmp21 [V24,T03] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V25 rat0 [V25,T04] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V26 rat1 [V26,T05] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V27 rat2 [V27,T07] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V28 rat3 [V28,T06] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;
-; Lcl frame size = 0
+; Lcl frame size = 16
G_M37109_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_M37109_IG02:
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xA8]
+ test rdi, rdi
+ je SHORT G_M37109_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M37109_IG03:
mov edi, 67
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNotSupportedException(int)
call [rax]System.ThrowHelper:ThrowNotSupportedException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 22, prolog size 4, PerfScore 0.00, instruction count 6, allocated bytes for code 22 (MethodHash=b4646f0a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
+; Total bytes of code 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (MethodHash=b4646f0a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.ReadOnlySpan`1[System.__Canon]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
26 (104.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
+; 0 inlinees with PGO data; 2 single block inlinees; 4 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[]>
+;* V02 arg1 [V02 ] ( 0, 0 ) ref -> zero-ref 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"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* 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"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V15 tmp12 [V15 ] ( 0, 0 ) long -> zero-ref single-def "field V01._lower (fldOffset=0x0)" P-INDEP
+;* V16 tmp13 [V16 ] ( 0, 0 ) long -> zero-ref single-def "field V01._upper (fldOffset=0x8)" P-INDEP
+;* V17 tmp14 [V17,T01] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V18 rat0 [V18,T02] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V19 rat1 [V19,T03] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V20 rat2 [V20,T05] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V21 rat3 [V21,T04] ( 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 edi, dword ptr [rsi+0x08]
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xA0]
+ test rdi, rdi
+ je SHORT G_M23152_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M23152_IG03:
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
+ ;; size=18 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 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (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)
26 (104.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
+; 0 inlinees with PGO data; 2 single block inlinees; 4 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
-; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd single-def <System.__Canon[]>
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
+;* V02 arg0 [V02 ] ( 0, 0 ) ref -> zero-ref 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"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V15 tmp12 [V15,T01] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V16 rat0 [V16,T02] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V17 rat1 [V17,T03] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V18 rat2 [V18,T05] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V19 rat3 [V19,T04] ( 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 edi, dword ptr [rdx+0x08]
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xB8]
+ test rdi, rdi
+ je SHORT G_M59324_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M59324_IG03:
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
+ ;; size=18 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 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (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)
26 (104.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
+; 0 inlinees with PGO data; 2 single block inlinees; 4 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[]>
+;* V02 arg1 [V02 ] ( 0, 0 ) ref -> zero-ref 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"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V15 tmp12 [V15,T01] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V16 rat0 [V16,T02] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V17 rat1 [V17,T03] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V18 rat2 [V18,T05] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V19 rat3 [V19,T04] ( 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 edi, dword ptr [rsi+0x08]
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x98]
+ test rdi, rdi
+ je SHORT G_M9626_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M9626_IG03:
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
+ ;; size=18 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 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (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)
26 (104.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
+; 0 inlinees with PGO data; 2 single block inlinees; 4 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
-; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd single-def <System.__Canon[]>
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
+;* V02 arg0 [V02 ] ( 0, 0 ) ref -> zero-ref 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"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V15 tmp12 [V15,T01] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V16 rat0 [V16,T02] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V17 rat1 [V17,T03] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V18 rat2 [V18,T05] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V19 rat3 [V19,T04] ( 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 edi, dword ptr [rdx+0x08]
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xB0]
+ test rdi, rdi
+ je SHORT G_M1942_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M1942_IG03:
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
+ ;; size=18 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 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (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)
26 (104.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
+; 0 inlinees with PGO data; 2 single block inlinees; 4 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[]>
+;* V02 arg1 [V02 ] ( 0, 0 ) ref -> zero-ref 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"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V15 tmp12 [V15,T01] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V16 rat0 [V16,T02] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V17 rat1 [V17,T03] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V18 rat2 [V18,T05] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V19 rat3 [V19,T04] ( 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 edi, dword ptr [rsi+0x08]
+ mov rdi, qword ptr [rdi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0x98]
+ test rdi, rdi
+ je SHORT G_M25821_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M25821_IG03:
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
+ ;; size=18 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 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (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)
26 (104.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
+; 0 inlinees with PGO data; 2 single block inlinees; 4 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
-; V02 arg0 [V02,T01] ( 3, 2 ) ref -> rdx class-hnd single-def <System.__Canon[]>
+; V01 TypeCtx [V01,T00] ( 4, 3 ) long -> rsi single-def
+;* V02 arg0 [V02 ] ( 0, 0 ) ref -> zero-ref 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"
+;* V07 tmp4 [V07 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V08 tmp5 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V09 tmp6 [V09 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V10 tmp7 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V12 tmp9 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V13 tmp10 [V13 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
+;* V14 tmp11 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V15 tmp12 [V15,T01] ( 0, 0 ) long -> zero-ref "argument with side effect"
+;* V16 rat0 [V16,T02] ( 0, 0 ) long -> zero-ref "runtime lookup"
+; V17 rat1 [V17,T03] ( 2, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+;* V18 rat2 [V18,T05] ( 0, 0 ) long -> zero-ref "runtime lookup"
+;* V19 rat3 [V19,T04] ( 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 edi, dword ptr [rdx+0x08]
+ mov rdi, qword ptr [rsi+0x30]
+ mov rdi, qword ptr [rdi]
+ mov rdi, qword ptr [rdi+0xB0]
+ test rdi, rdi
+ je SHORT G_M49233_IG03
+ ;; size=19 bbWeight=0 PerfScore 0.00
+G_M49233_IG03:
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
+ ;; size=18 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 51, prolog size 14, PerfScore 0.00, instruction count 14, allocated bytes for code 51 (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)