Untitled Diff

Creado El diff nunca expira
85 eliminaciones
529 líneas
54 adiciones
523 líneas
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; partially interruptible
; partially interruptible
; No matching PGO data
; No matching PGO data
; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def
; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def
; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def
; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def
; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def
; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def
; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def
; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def
; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def
; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def
; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def
; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def
; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def
; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def
; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def
; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def
; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def
; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def
; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def
; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def
;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp"
; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp"
; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt"
; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt"
; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-58H] class-hnd exact spill-single-def "dup spill"
; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-48H] class-hnd exact spill-single-def "dup spill"
; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt"
; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt"
; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store"
; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store"
; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill"
; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill"
; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt"
; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt"
; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect"
; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect"
; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect"
; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect"
; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate"
; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate"
; V46 cse1 [V46,T24] ( 4, 4 ) ref -> [rbp-60H] spill-single-def "CSE - moderate"
; V46 cse1 [V46,T24] ( 4, 4 ) ref -> [rbp-50H] spill-single-def "CSE - moderate"
; V47 cse2 [V47,T43] ( 5, 5 ) double -> [rbp-48H] spill-single-def "CSE - moderate"
; V48 cse3 [V48,T44] ( 5, 5 ) double -> [rbp-50H] spill-single-def "CSE - moderate"
;
;
; Lcl frame size = 56
; Lcl frame size = 40


G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rbx
push rbx
sub rsp, 56
sub rsp, 40
vzeroupper
vzeroupper
lea rbp, [rsp+60H]
lea rbp, [rsp+50H]
;; bbWeight=1 PerfScore 7.75
;; bbWeight=1 PerfScore 7.75
G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax]
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, qword ptr [rax+88]
mov rax, qword ptr [rax+88]
call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
; gcrRegs -[rdi] +[rax]
; gcrRegs -[rdi] +[rax]
mov rbx, gword ptr [rax+56]
mov rbx, gword ptr [rax+56]
; gcrRegs +[rbx]
; gcrRegs +[rbx]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov r14, rax
; gcrRegs +[r14]
; gcrRegs +[r14]
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, gword ptr [rsi]
mov rsi, gword ptr [rsi]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r14
mov rdi, r14
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov edx, 1
mov edx, 1
call System.Globalization.CultureInfo:.ctor(System.String,bool):this
call System.Globalization.CultureInfo:.ctor(System.String,bool):this
; gcrRegs -[rax rsi rdi]
; gcrRegs -[rax rsi rdi]
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovapd xmmword ptr [rbp-40H], xmm0
vmovapd xmmword ptr [rbp-40H], xmm0
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
call System.Numerics.Vector4:ToString():System.String:this
call System.Numerics.Vector4:ToString():System.String:this
; gcrRegs +[rax]
; gcrRegs +[rax]