bugfix_1

Created Diff never expires
10 removals
Lines
Total93
Removed-5.4%5
Words
Total507
Removed-4.3%22
93 lines
13 additions
Lines
Total95
Added+7.4%7
Words
Total505
Added+4.0%20
95 lines
; Assembly listing for method System.Runtime.Intrinsics.Arm.Sve:LoadVector128AndReplicateToVector(System.Numerics.Vector`1[float],ulong):System.Numerics.Vector`1[float] (Tier0-MinOpts)
; Assembly listing for method System.Runtime.Intrinsics.Arm.Sve:LoadVector128AndReplicateToVector(System.Numerics.Vector`1[float],ulong):System.Numerics.Vector`1[float] (Tier0-MinOpts)
; Emitting BLENDED_CODE for generic ARM64 - Windows
; Emitting BLENDED_CODE for generic ARM64 - Windows
; Tier-0 switched MinOpts code
; Tier-0 switched MinOpts code
; fp based frame
; fp based frame
; partially interruptible
; partially interruptible
; method switched to min-opts
; method switched to min-opts
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0x20] HFA(simd16) do-not-enreg[S] <System.Numerics.Vector`1[float]>
; V00 arg0 [V00 ] ( 1, 1 ) simd16 -> [fp+0x20] HFA(simd16) do-not-enreg[S] <System.Numerics.Vector`1[float]>
; V01 arg1 [V01 ] ( 1, 1 ) long -> [fp+0x18] do-not-enreg[]
; V01 arg1 [V01 ] ( 1, 1 ) long -> [fp+0x18] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V03 tmp1 [V03 ] ( 1, 1 ) mask -> [fp+0x10] do-not-enreg[S] "Spilling to split statement for tree"
; V03 tmp1 [V03 ] ( 1, 1 ) mask -> [fp+0x10] do-not-enreg[S] "Spilling to split statement for tree"
;
;
; Lcl frame size = 32
; Lcl frame size = 32


G_M33631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M33631_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x30]!
stp fp, lr, [sp, #-0x30]!
mov fp, sp
mov fp, sp
str q0, [fp, #0x20] // [V00 arg0]
str q0, [fp, #0x20] // [V00 arg0]
str x0, [fp, #0x18] // [V01 arg1]
str x0, [fp, #0x18] // [V01 arg1]
;; size=16 bbWeight=1 PerfScore 3.50
;; size=16 bbWeight=1 PerfScore 3.50
G_M33631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M33631_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr q16, [fp, #0x20] // [V00 arg0]
ldr q16, [fp, #0x20] // [V00 arg0]
ptrue p0.s
ptrue p0.s
cmpne p0.s, p0/z, z16.s, #0
cmpne p0.s, p0/z, z16.s, #0
str p0, [fp, #8, mul vl] // [V03 tmp1]
add xip1, fp, #16
ldr p0, [fp, #8, mul vl] // [V03 tmp1]
str p0, [xip1]
add xip1, fp, #16
ldr p0, [xip1]
ldr x0, [fp, #0x18] // [V01 arg1]
ldr x0, [fp, #0x18] // [V01 arg1]
ld1rqw { z0.s }, p0/z, [x0]
ld1rqw { z0.s }, p0/z, [x0]
;; size=28 bbWeight=1 PerfScore 21.00
;; size=36 bbWeight=1 PerfScore 22.00
G_M33631_IG03: ; bbWeight=1, epilog, nogc, extend
G_M33631_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x30
ldp fp, lr, [sp], #0x30
ret lr
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
;; size=8 bbWeight=1 PerfScore 2.00


; Total bytes of code 52, prolog size 8, PerfScore 26.50, instruction count 13, allocated bytes for code 52 (MethodHash=80797ca0) for method System.Runtime.Intrinsics.Arm.Sve:LoadVector128AndReplicateToVector(System.Numerics.Vector`1[float],ulong):System.Numerics.Vector`1[float] (Tier0-MinOpts)
; Total bytes of code 60, prolog size 8, PerfScore 27.50, instruction count 15, allocated bytes for code 60 (MethodHash=80797ca0) for method System.Runtime.Intrinsics.Arm.Sve:LoadVector128AndReplicateToVector(System.Numerics.Vector`1[float],ulong):System.Numerics.Vector`1[float] (Tier0-MinOpts)
; ============================================================
; ============================================================


Unwind Info:
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Code Words : 1
Code Words : 1
Epilog Count : 0
Epilog Count : 0
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
Function Length : 4 (0x00004) Actual length = 16 (0x000010)
Function Length : 4 (0x00004) Actual length = 16 (0x000010)
---- Epilog scopes ----
---- Epilog scopes ----
No epilogs
No epilogs
---- Unwind codes ----
---- Unwind codes ----
E1 set_fp; mov fp, sp
E1 set_fp; mov fp, sp
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end
E4 end
E4 end


Unwind Info:
Unwind Info:
>> Start offset : 0xd1ffab1e (not in unwind data)
>> Start offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Code Words : 1
Code Words : 1
Epilog Count : 0
Epilog Count : 0
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
Function Length : 9 (0x00009) Actual length = 36 (0x000024)
---- Epilog scopes ----
---- Epilog scopes ----
No epilogs
No epilogs
---- Unwind codes ----
---- Unwind codes ----
E5 end_c
E5 end_c
E1 set_fp; mov fp, sp
E1 set_fp; mov fp, sp
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end


Unwind Info:
Unwind Info:
>> Start offset : 0xd1ffab1e (not in unwind data)
>> Start offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Code Words : 1
Code Words : 1
Epilog Count : 1
Epilog Count : 1
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
Function Length : 2 (0x00002) Actual length = 8 (0x000008)
Function Length : 2 (0x00002) Actual length = 8 (0x000008)
---- Epilog scopes ----
---- Epilog scopes ----
---- Scope 0
---- Scope 0
Epilog Start Offset : 0 (0x00000) Actual offset = 0 (0x000000) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Offset : 0 (0x00000) Actual offset = 0 (0x000000) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Index : 2 (0x02)
Epilog Start Index : 2 (0x02)
---- Unwind codes ----
---- Unwind codes ----
E5 end_c
E5 end_c
E1 set_fp; mov fp, sp
E1 set_fp; mov fp, sp
---- Epilog start at index 2 ----
---- Epilog start at index 2 ----
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
85 save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
E4 end
E4 end