-
Notifications
You must be signed in to change notification settings - Fork 5.3k
'cmeq' and 'fcmeq' Vector64<T>.Zero/Vector128<T>.Zero ARM64 containment optimizations #62933
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsAddressing #33972 This handles containment for some 'compare' hardware Intrinsics to allow their second operand to be contained if the second operand is a It seemed that ARM64 path didn't handle many cases of containment, so this should allow for more optimization opportunities of containment. Acceptance Criteria
|
|
Changes overall LGTM. |
|
/azp run runtime |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Here are the diffs based on the test. diff --git "a/\\base/242.dasm" "b/\\diff/242.dasm"
index 807e328..8d7932e 100644
--- "a/\\base/242.dasm"
+++ "b/\\diff/242.dasm"
@@ -16,16 +16,15 @@ G_M44024_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M44024_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.4s, v16.4s, v0.4s
+ cmeq v16.4s, v0.4s, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M44024_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=75445407) for method Program:AdvSimd_CompareEqual_Vector128_UInt32_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[UInt32]):System.Runtime.Intrinsics.Vector128`1[UInt32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=75445407) for method Program:AdvSimd_CompareEqual_Vector128_UInt32_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[UInt32]):System.Runtime.Intrinsics.Vector128`1[UInt32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/243.dasm" "b/\\diff/243.dasm"
index 98dfb50..562e728 100644
--- "a/\\base/243.dasm"
+++ "b/\\diff/243.dasm"
@@ -16,16 +16,15 @@ G_M39853_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M39853_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.4s, v16.4s, v0.4s
+ cmeq v16.4s, v0.4s, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M39853_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=32026452) for method Program:AdvSimd_CompareEqual_Vector128_Int32_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Int32]):System.Runtime.Intrinsics.Vector128`1[Int32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=32026452) for method Program:AdvSimd_CompareEqual_Vector128_Int32_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Int32]):System.Runtime.Intrinsics.Vector128`1[Int32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/244.dasm" "b/\\diff/244.dasm"
index 8d90c20..9b01875 100644
--- "a/\\base/244.dasm"
+++ "b/\\diff/244.dasm"
@@ -16,16 +16,15 @@ G_M14405_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M14405_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- fcmeq v16.4s, v16.4s, v0.4s
+ fcmeq v16.4s, v0.4s, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M14405_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=c53ac7ba) for method Program:AdvSimd_CompareEqual_Vector128_Single_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Single]):System.Runtime.Intrinsics.Vector128`1[Single]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=c53ac7ba) for method Program:AdvSimd_CompareEqual_Vector128_Single_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Single]):System.Runtime.Intrinsics.Vector128`1[Single]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/245.dasm" "b/\\diff/245.dasm"
index b46870e..330a82a 100644
--- "a/\\base/245.dasm"
+++ "b/\\diff/245.dasm"
@@ -16,16 +16,15 @@ G_M48009_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M48009_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- fcmeq v16.2d, v16.2d, v0.2d
+ fcmeq v16.2d, v0.2d, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M48009_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=7b144476) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Double_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Double]):System.Runtime.Intrinsics.Vector128`1[Double]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=7b144476) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Double_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Double]):System.Runtime.Intrinsics.Vector128`1[Double]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/246.dasm" "b/\\diff/246.dasm"
index 2d43d6c..9d8ac65 100644
--- "a/\\base/246.dasm"
+++ "b/\\diff/246.dasm"
@@ -16,16 +16,15 @@ G_M8984_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M8984_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.2d, v16.2d, v0.2d
+ cmeq v16.2d, v0.2d, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M8984_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=7abedce7) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_UInt64_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[UInt64]):System.Runtime.Intrinsics.Vector128`1[UInt64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=7abedce7) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_UInt64_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[UInt64]):System.Runtime.Intrinsics.Vector128`1[UInt64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/247.dasm" "b/\\diff/247.dasm"
index 0a899d4..bada9d4 100644
--- "a/\\base/247.dasm"
+++ "b/\\diff/247.dasm"
@@ -16,16 +16,15 @@ G_M17677_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M17677_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.2d, v16.2d, v0.2d
+ cmeq v16.2d, v0.2d, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M17677_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=ad14baf2) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Int64_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Int64]):System.Runtime.Intrinsics.Vector128`1[Int64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=ad14baf2) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Int64_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Int64]):System.Runtime.Intrinsics.Vector128`1[Int64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/248.dasm" "b/\\diff/248.dasm"
index c56db05..cbf0f0b 100644
--- "a/\\base/248.dasm"
+++ "b/\\diff/248.dasm"
@@ -16,16 +16,15 @@ G_M3409_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M3409_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- fcmeq s16, s16, s0
+ fcmeq s16, s0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M3409_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=b508f2ae) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Single_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=b508f2ae) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Single_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/249.dasm" "b/\\diff/249.dasm"
index 565a865..2a6a733 100644
--- "a/\\base/249.dasm"
+++ "b/\\diff/249.dasm"
@@ -16,16 +16,15 @@ G_M11294_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M11294_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- fcmeq d16, d16, d0
+ fcmeq d16, d0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M11294_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=0922d3e1) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Double_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Double]):System.Runtime.Intrinsics.Vector64`1[Double]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=0922d3e1) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Double_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Double]):System.Runtime.Intrinsics.Vector64`1[Double]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/250.dasm" "b/\\diff/250.dasm"
index 2bed765..ac4b38b 100644
--- "a/\\base/250.dasm"
+++ "b/\\diff/250.dasm"
@@ -16,16 +16,15 @@ G_M34799_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M34799_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq d16, d16, d0
+ cmeq d16, d0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M34799_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=78d17810) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_UInt64_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[UInt64]):System.Runtime.Intrinsics.Vector64`1[UInt64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=78d17810) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_UInt64_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[UInt64]):System.Runtime.Intrinsics.Vector64`1[UInt64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/251.dasm" "b/\\diff/251.dasm"
index dac2bed..2dc1439 100644
--- "a/\\base/251.dasm"
+++ "b/\\diff/251.dasm"
@@ -16,16 +16,15 @@ G_M37594_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M37594_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq d16, d16, d0
+ cmeq d16, d0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M37594_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=570b6d25) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Int64_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Int64]):System.Runtime.Intrinsics.Vector64`1[Int64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=570b6d25) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Int64_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Int64]):System.Runtime.Intrinsics.Vector64`1[Int64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/273.dasm" "b/\\diff/273.dasm"
index e15940d..ec8dce6 100644
--- "a/\\base/273.dasm"
+++ "b/\\diff/273.dasm"
@@ -16,16 +16,15 @@ G_M57719_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M57719_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.8b, v0.8b, v16.8b
+ cmeq v16.8b, v0.8b, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M57719_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=2d6a1e88) for method Program:AdvSimd_CompareEqual_Vector64_Byte_Zero(System.Runtime.Intrinsics.Vector64`1[Byte]):System.Runtime.Intrinsics.Vector64`1[Byte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=2d6a1e88) for method Program:AdvSimd_CompareEqual_Vector64_Byte_Zero(System.Runtime.Intrinsics.Vector64`1[Byte]):System.Runtime.Intrinsics.Vector64`1[Byte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/274.dasm" "b/\\diff/274.dasm"
index e28b3b1..0467fd2 100644
--- "a/\\base/274.dasm"
+++ "b/\\diff/274.dasm"
@@ -16,16 +16,15 @@ G_M7684_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M7684_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.8b, v0.8b, v16.8b
+ cmeq v16.8b, v0.8b, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M7684_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=65eae1fb) for method Program:AdvSimd_CompareEqual_Vector64_SByte_Zero(System.Runtime.Intrinsics.Vector64`1[SByte]):System.Runtime.Intrinsics.Vector64`1[SByte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=65eae1fb) for method Program:AdvSimd_CompareEqual_Vector64_SByte_Zero(System.Runtime.Intrinsics.Vector64`1[SByte]):System.Runtime.Intrinsics.Vector64`1[SByte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/275.dasm" "b/\\diff/275.dasm"
index 9f83651..4126a86 100644
--- "a/\\base/275.dasm"
+++ "b/\\diff/275.dasm"
@@ -16,16 +16,15 @@ G_M9116_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M9116_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.4h, v0.4h, v16.4h
+ cmeq v16.4h, v0.4h, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M9116_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=5a3cdc63) for method Program:AdvSimd_CompareEqual_Vector64_UInt16_Zero(System.Runtime.Intrinsics.Vector64`1[UInt16]):System.Runtime.Intrinsics.Vector64`1[UInt16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=5a3cdc63) for method Program:AdvSimd_CompareEqual_Vector64_UInt16_Zero(System.Runtime.Intrinsics.Vector64`1[UInt16]):System.Runtime.Intrinsics.Vector64`1[UInt16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/276.dasm" "b/\\diff/276.dasm"
index 7ef7885..a72714e 100644
--- "a/\\base/276.dasm"
+++ "b/\\diff/276.dasm"
@@ -16,16 +16,15 @@ G_M22569_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M22569_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.4h, v0.4h, v16.4h
+ cmeq v16.4h, v0.4h, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M22569_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=9e29a7d6) for method Program:AdvSimd_CompareEqual_Vector64_Int16_Zero(System.Runtime.Intrinsics.Vector64`1[Int16]):System.Runtime.Intrinsics.Vector64`1[Int16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=9e29a7d6) for method Program:AdvSimd_CompareEqual_Vector64_Int16_Zero(System.Runtime.Intrinsics.Vector64`1[Int16]):System.Runtime.Intrinsics.Vector64`1[Int16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/277.dasm" "b/\\diff/277.dasm"
index f0e2e58..bb3a5a8 100644
--- "a/\\base/277.dasm"
+++ "b/\\diff/277.dasm"
@@ -16,16 +16,15 @@ G_M47194_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M47194_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.2s, v0.2s, v16.2s
+ cmeq v16.2s, v0.2s, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M47194_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=aac647a5) for method Program:AdvSimd_CompareEqual_Vector64_UInt32_Zero(System.Runtime.Intrinsics.Vector64`1[UInt32]):System.Runtime.Intrinsics.Vector64`1[UInt32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=aac647a5) for method Program:AdvSimd_CompareEqual_Vector64_UInt32_Zero(System.Runtime.Intrinsics.Vector64`1[UInt32]):System.Runtime.Intrinsics.Vector64`1[UInt32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/278.dasm" "b/\\diff/278.dasm"
index 97c9794..a5d9883 100644
--- "a/\\base/278.dasm"
+++ "b/\\diff/278.dasm"
@@ -16,16 +16,15 @@ G_M1199_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M1199_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.2s, v0.2s, v16.2s
+ cmeq v16.2s, v0.2s, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M1199_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=19c3fb50) for method Program:AdvSimd_CompareEqual_Vector64_Int32_Zero(System.Runtime.Intrinsics.Vector64`1[Int32]):System.Runtime.Intrinsics.Vector64`1[Int32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=19c3fb50) for method Program:AdvSimd_CompareEqual_Vector64_Int32_Zero(System.Runtime.Intrinsics.Vector64`1[Int32]):System.Runtime.Intrinsics.Vector64`1[Int32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/279.dasm" "b/\\diff/279.dasm"
index bee2b38..6950842 100644
--- "a/\\base/279.dasm"
+++ "b/\\diff/279.dasm"
@@ -16,16 +16,15 @@ G_M15815_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M15815_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- fcmeq v16.2s, v0.2s, v16.2s
+ fcmeq v16.2s, v0.2s, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M15815_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=276bc238) for method Program:AdvSimd_CompareEqual_Vector64_Single_Zero(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=276bc238) for method Program:AdvSimd_CompareEqual_Vector64_Single_Zero(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/280.dasm" "b/\\diff/280.dasm"
index 4db718f..b516663 100644
--- "a/\\base/280.dasm"
+++ "b/\\diff/280.dasm"
@@ -16,16 +16,15 @@ G_M49198_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M49198_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.16b, v0.16b, v16.16b
+ cmeq v16.16b, v0.16b, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M49198_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=004f3fd1) for method Program:AdvSimd_CompareEqual_Vector128_Byte_Zero(System.Runtime.Intrinsics.Vector128`1[Byte]):System.Runtime.Intrinsics.Vector128`1[Byte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=004f3fd1) for method Program:AdvSimd_CompareEqual_Vector128_Byte_Zero(System.Runtime.Intrinsics.Vector128`1[Byte]):System.Runtime.Intrinsics.Vector128`1[Byte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/281.dasm" "b/\\diff/281.dasm"
index 795b2f5..5e29828 100644
--- "a/\\base/281.dasm"
+++ "b/\\diff/281.dasm"
@@ -16,16 +16,15 @@ G_M3965_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M3965_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.16b, v0.16b, v16.16b
+ cmeq v16.16b, v0.16b, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M3965_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=028af082) for method Program:AdvSimd_CompareEqual_Vector128_SByte_Zero(System.Runtime.Intrinsics.Vector128`1[SByte]):System.Runtime.Intrinsics.Vector128`1[SByte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=028af082) for method Program:AdvSimd_CompareEqual_Vector128_SByte_Zero(System.Runtime.Intrinsics.Vector128`1[SByte]):System.Runtime.Intrinsics.Vector128`1[SByte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/282.dasm" "b/\\diff/282.dasm"
index beab20f..5d5a2e8 100644
--- "a/\\base/282.dasm"
+++ "b/\\diff/282.dasm"
@@ -16,16 +16,15 @@ G_M17701_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M17701_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.8h, v0.8h, v16.8h
+ cmeq v16.8h, v0.8h, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M17701_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=80f4bada) for method Program:AdvSimd_CompareEqual_Vector128_UInt16_Zero(System.Runtime.Intrinsics.Vector128`1[UInt16]):System.Runtime.Intrinsics.Vector128`1[UInt16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=80f4bada) for method Program:AdvSimd_CompareEqual_Vector128_UInt16_Zero(System.Runtime.Intrinsics.Vector128`1[UInt16]):System.Runtime.Intrinsics.Vector128`1[UInt16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/283.dasm" "b/\\diff/283.dasm"
index 5be7273..2ce7344 100644
--- "a/\\base/283.dasm"
+++ "b/\\diff/283.dasm"
@@ -16,16 +16,15 @@ G_M15088_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M15088_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.8h, v0.8h, v16.8h
+ cmeq v16.8h, v0.8h, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M15088_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=adf6c50f) for method Program:AdvSimd_CompareEqual_Vector128_Int16_Zero(System.Runtime.Intrinsics.Vector128`1[Int16]):System.Runtime.Intrinsics.Vector128`1[Int16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=adf6c50f) for method Program:AdvSimd_CompareEqual_Vector128_Int16_Zero(System.Runtime.Intrinsics.Vector128`1[Int16]):System.Runtime.Intrinsics.Vector128`1[Int16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/284.dasm" "b/\\diff/284.dasm"
index c351d89..b0e4d25 100644
--- "a/\\base/284.dasm"
+++ "b/\\diff/284.dasm"
@@ -16,16 +16,15 @@ G_M3875_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M3875_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.4s, v0.4s, v16.4s
+ cmeq v16.4s, v0.4s, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M3875_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=2a8af0dc) for method Program:AdvSimd_CompareEqual_Vector128_UInt32_Zero(System.Runtime.Intrinsics.Vector128`1[UInt32]):System.Runtime.Intrinsics.Vector128`1[UInt32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=2a8af0dc) for method Program:AdvSimd_CompareEqual_Vector128_UInt32_Zero(System.Runtime.Intrinsics.Vector128`1[UInt32]):System.Runtime.Intrinsics.Vector128`1[UInt32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/285.dasm" "b/\\diff/285.dasm"
index 2a9ea65..09c3683 100644
--- "a/\\base/285.dasm"
+++ "b/\\diff/285.dasm"
@@ -16,16 +16,15 @@ G_M47542_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M47542_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.4s, v0.4s, v16.4s
+ cmeq v16.4s, v0.4s, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M47542_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=91ec4649) for method Program:AdvSimd_CompareEqual_Vector128_Int32_Zero(System.Runtime.Intrinsics.Vector128`1[Int32]):System.Runtime.Intrinsics.Vector128`1[Int32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=91ec4649) for method Program:AdvSimd_CompareEqual_Vector128_Int32_Zero(System.Runtime.Intrinsics.Vector128`1[Int32]):System.Runtime.Intrinsics.Vector128`1[Int32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/286.dasm" "b/\\diff/286.dasm"
index b54486c..fcb67a4 100644
--- "a/\\base/286.dasm"
+++ "b/\\diff/286.dasm"
@@ -16,16 +16,15 @@ G_M61534_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M61534_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- fcmeq v16.4s, v0.4s, v16.4s
+ fcmeq v16.4s, v0.4s, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M61534_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=97d00fa1) for method Program:AdvSimd_CompareEqual_Vector128_Single_Zero(System.Runtime.Intrinsics.Vector128`1[Single]):System.Runtime.Intrinsics.Vector128`1[Single]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=97d00fa1) for method Program:AdvSimd_CompareEqual_Vector128_Single_Zero(System.Runtime.Intrinsics.Vector128`1[Single]):System.Runtime.Intrinsics.Vector128`1[Single]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/287.dasm" "b/\\diff/287.dasm"
index 5a2b153..eed78f1 100644
--- "a/\\base/287.dasm"
+++ "b/\\diff/287.dasm"
@@ -16,16 +16,15 @@ G_M12242_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M12242_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- fcmeq v16.2d, v0.2d, v16.2d
+ fcmeq v16.2d, v0.2d, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M12242_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=ba6fd02d) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Double_Zero(System.Runtime.Intrinsics.Vector128`1[Double]):System.Runtime.Intrinsics.Vector128`1[Double]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=ba6fd02d) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Double_Zero(System.Runtime.Intrinsics.Vector128`1[Double]):System.Runtime.Intrinsics.Vector128`1[Double]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/288.dasm" "b/\\diff/288.dasm"
index e95d31a..8098f08 100644
--- "a/\\base/288.dasm"
+++ "b/\\diff/288.dasm"
@@ -16,16 +16,15 @@ G_M28547_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M28547_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.2d, v0.2d, v16.2d
+ cmeq v16.2d, v0.2d, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M28547_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=e138907c) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_UInt64_Zero(System.Runtime.Intrinsics.Vector128`1[UInt64]):System.Runtime.Intrinsics.Vector128`1[UInt64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=e138907c) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_UInt64_Zero(System.Runtime.Intrinsics.Vector128`1[UInt64]):System.Runtime.Intrinsics.Vector128`1[UInt64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/289.dasm" "b/\\diff/289.dasm"
index 1d9894b..be8db8a 100644
--- "a/\\base/289.dasm"
+++ "b/\\diff/289.dasm"
@@ -16,16 +16,15 @@ G_M46614_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M46614_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.2d, v0.2d, v16.2d
+ cmeq v16.2d, v0.2d, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M46614_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=56a949e9) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Int64_Zero(System.Runtime.Intrinsics.Vector128`1[Int64]):System.Runtime.Intrinsics.Vector128`1[Int64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=56a949e9) for method Program:AdvSimd_Arm64_CompareEqual_Vector128_Int64_Zero(System.Runtime.Intrinsics.Vector128`1[Int64]):System.Runtime.Intrinsics.Vector128`1[Int64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/290.dasm" "b/\\diff/290.dasm"
index de8cd99..c697240 100644
--- "a/\\base/290.dasm"
+++ "b/\\diff/290.dasm"
@@ -16,16 +16,15 @@ G_M2634_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M2634_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- fcmeq s16, s0, s16
+ fcmeq s16, s0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M2634_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=04e0f5b5) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Single_Zero(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=04e0f5b5) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Single_Zero(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/291.dasm" "b/\\diff/291.dasm"
index 00da2f2..4cc9c25 100644
--- "a/\\base/291.dasm"
+++ "b/\\diff/291.dasm"
@@ -16,16 +16,15 @@ G_M38597_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M38597_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- fcmeq d16, d0, d16
+ fcmeq d16, d0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M38597_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=eef1693a) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Double_Zero(System.Runtime.Intrinsics.Vector64`1[Double]):System.Runtime.Intrinsics.Vector64`1[Double]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=eef1693a) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Double_Zero(System.Runtime.Intrinsics.Vector64`1[Double]):System.Runtime.Intrinsics.Vector64`1[Double]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/292.dasm" "b/\\diff/292.dasm"
index 2d75c6a..be57e1f 100644
--- "a/\\base/292.dasm"
+++ "b/\\diff/292.dasm"
@@ -16,16 +16,15 @@ G_M1140_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M1140_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq d16, d0, d16
+ cmeq d16, d0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M1140_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=e435fb8b) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_UInt64_Zero(System.Runtime.Intrinsics.Vector64`1[UInt64]):System.Runtime.Intrinsics.Vector64`1[UInt64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=e435fb8b) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_UInt64_Zero(System.Runtime.Intrinsics.Vector64`1[UInt64]):System.Runtime.Intrinsics.Vector64`1[UInt64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/293.dasm" "b/\\diff/293.dasm"
index 55a9f1b..4f6882a 100644
--- "a/\\base/293.dasm"
+++ "b/\\diff/293.dasm"
@@ -16,16 +16,15 @@ G_M48641_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M48641_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq d16, d0, d16
+ cmeq d16, d0, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M48641_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=6e3f41fe) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Int64_Zero(System.Runtime.Intrinsics.Vector64`1[Int64]):System.Runtime.Intrinsics.Vector64`1[Int64]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=6e3f41fe) for method Program:AdvSimd_Arm64_CompareEqualScalar_Vector64_Int64_Zero(System.Runtime.Intrinsics.Vector64`1[Int64]):System.Runtime.Intrinsics.Vector64`1[Int64]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/294.dasm" "b/\\diff/294.dasm"
index 0bd21b9..bbddd1e 100644
--- "a/\\base/294.dasm"
+++ "b/\\diff/294.dasm"
@@ -16,16 +16,15 @@ G_M4780_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M4780_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.8b, v16.8b, v0.8b
+ cmeq v16.8b, v0.8b, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M4780_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=3569ed53) for method Program:AdvSimd_CompareEqual_Vector64_Byte_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Byte]):System.Runtime.Intrinsics.Vector64`1[Byte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=3569ed53) for method Program:AdvSimd_CompareEqual_Vector64_Byte_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Byte]):System.Runtime.Intrinsics.Vector64`1[Byte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/295.dasm" "b/\\diff/295.dasm"
index 1cc45c2..8903efe 100644
--- "a/\\base/295.dasm"
+++ "b/\\diff/295.dasm"
@@ -16,16 +16,15 @@ G_M40799_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M40799_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.8b, v16.8b, v0.8b
+ cmeq v16.8b, v0.8b, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M40799_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=8ff960a0) for method Program:AdvSimd_CompareEqual_Vector64_SByte_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[SByte]):System.Runtime.Intrinsics.Vector64`1[SByte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=8ff960a0) for method Program:AdvSimd_CompareEqual_Vector64_SByte_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[SByte]):System.Runtime.Intrinsics.Vector64`1[SByte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/296.dasm" "b/\\diff/296.dasm"
index 08581d2..4b566f2 100644
--- "a/\\base/296.dasm"
+++ "b/\\diff/296.dasm"
@@ -16,16 +16,15 @@ G_M22023_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M22023_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.4h, v16.4h, v0.4h
+ cmeq v16.4h, v0.4h, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M22023_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=406ba9f8) for method Program:AdvSimd_CompareEqual_Vector64_UInt16_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[UInt16]):System.Runtime.Intrinsics.Vector64`1[UInt16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=406ba9f8) for method Program:AdvSimd_CompareEqual_Vector64_UInt16_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[UInt16]):System.Runtime.Intrinsics.Vector64`1[UInt16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/297.dasm" "b/\\diff/297.dasm"
index 324af27..e3f9d41 100644
--- "a/\\base/297.dasm"
+++ "b/\\diff/297.dasm"
@@ -16,16 +16,15 @@ G_M690_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prol
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M690_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.4h, v16.4h, v0.4h
+ cmeq v16.4h, v0.4h, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M690_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=d513fd4d) for method Program:AdvSimd_CompareEqual_Vector64_Int16_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Int16]):System.Runtime.Intrinsics.Vector64`1[Int16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=d513fd4d) for method Program:AdvSimd_CompareEqual_Vector64_Int16_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Int16]):System.Runtime.Intrinsics.Vector64`1[Int16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/298.dasm" "b/\\diff/298.dasm"
index 60ff5a9..cedc7af 100644
--- "a/\\base/298.dasm"
+++ "b/\\diff/298.dasm"
@@ -16,16 +16,15 @@ G_M4161_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pro
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M4161_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.2s, v16.2s, v0.2s
+ cmeq v16.2s, v0.2s, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M4161_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=0909efbe) for method Program:AdvSimd_CompareEqual_Vector64_UInt32_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[UInt32]):System.Runtime.Intrinsics.Vector64`1[UInt32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=0909efbe) for method Program:AdvSimd_CompareEqual_Vector64_UInt32_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[UInt32]):System.Runtime.Intrinsics.Vector64`1[UInt32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/299.dasm" "b/\\diff/299.dasm"
index 12955dc..11ff6d9 100644
--- "a/\\base/299.dasm"
+++ "b/\\diff/299.dasm"
@@ -16,16 +16,15 @@ G_M12596_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M12596_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- cmeq v16.2s, v16.2s, v0.2s
+ cmeq v16.2s, v0.2s, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M12596_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=8816cecb) for method Program:AdvSimd_CompareEqual_Vector64_Int32_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Int32]):System.Runtime.Intrinsics.Vector64`1[Int32]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=8816cecb) for method Program:AdvSimd_CompareEqual_Vector64_Int32_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Int32]):System.Runtime.Intrinsics.Vector64`1[Int32]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/300.dasm" "b/\\diff/300.dasm"
index 80eda69..5da9c04 100644
--- "a/\\base/300.dasm"
+++ "b/\\diff/300.dasm"
@@ -16,16 +16,15 @@ G_M40604_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M40604_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.2s, #0x00
- fcmeq v16.2s, v16.2s, v0.2s
+ fcmeq v16.2s, v0.2s, #0
mov v0.8b, v16.8b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M40604_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=b08c6163) for method Program:AdvSimd_CompareEqual_Vector64_Single_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=b08c6163) for method Program:AdvSimd_CompareEqual_Vector64_Single_Zero_Swapped(System.Runtime.Intrinsics.Vector64`1[Single]):System.Runtime.Intrinsics.Vector64`1[Single]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/301.dasm" "b/\\diff/301.dasm"
index 691169b..55981d3 100644
--- "a/\\base/301.dasm"
+++ "b/\\diff/301.dasm"
@@ -16,16 +16,15 @@ G_M18101_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M18101_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.16b, v16.16b, v0.16b
+ cmeq v16.16b, v0.16b, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M18101_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=10beb94a) for method Program:AdvSimd_CompareEqual_Vector128_Byte_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Byte]):System.Runtime.Intrinsics.Vector128`1[Byte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=10beb94a) for method Program:AdvSimd_CompareEqual_Vector128_Byte_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Byte]):System.Runtime.Intrinsics.Vector128`1[Byte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/302.dasm" "b/\\diff/302.dasm"
index 95a4906..1b5089c 100644
--- "a/\\base/302.dasm"
+++ "b/\\diff/302.dasm"
@@ -16,16 +16,15 @@ G_M62886_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M62886_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.16b, v16.16b, v0.16b
+ cmeq v16.16b, v0.16b, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M62886_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=c1f90a59) for method Program:AdvSimd_CompareEqual_Vector128_SByte_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[SByte]):System.Runtime.Intrinsics.Vector128`1[SByte]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=c1f90a59) for method Program:AdvSimd_CompareEqual_Vector128_SByte_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[SByte]):System.Runtime.Intrinsics.Vector128`1[SByte]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/303.dasm" "b/\\diff/303.dasm"
index 97e2b51..a42f936 100644
--- "a/\\base/303.dasm"
+++ "b/\\diff/303.dasm"
@@ -16,16 +16,15 @@ G_M19966_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M19966_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.8h, v16.8h, v0.8h
+ cmeq v16.8h, v0.8h, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M19966_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=18ccb201) for method Program:AdvSimd_CompareEqual_Vector128_UInt16_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[UInt16]):System.Runtime.Intrinsics.Vector128`1[UInt16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=18ccb201) for method Program:AdvSimd_CompareEqual_Vector128_UInt16_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[UInt16]):System.Runtime.Intrinsics.Vector128`1[UInt16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
diff --git "a/\\base/304.dasm" "b/\\diff/304.dasm"
index fa5858e..e0a8d7c 100644
--- "a/\\base/304.dasm"
+++ "b/\\diff/304.dasm"
@@ -16,16 +16,15 @@ G_M31851_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Pr
mov fp, sp
;; bbWeight=1 PerfScore 1.50
G_M31851_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movi v16.4s, #0x00
- cmeq v16.8h, v16.8h, v0.8h
+ cmeq v16.8h, v0.8h, #0
mov v0.16b, v16.16b
- ;; bbWeight=1 PerfScore 2.00
+ ;; bbWeight=1 PerfScore 1.50
G_M31851_IG03: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ret lr
;; bbWeight=1 PerfScore 2.00
-; Total bytes of code 28, prolog size 8, PerfScore 8.30, instruction count 7, allocated bytes for code 28 (MethodHash=bbf38394) for method Program:AdvSimd_CompareEqual_Vector128_Int16_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Int16]):System.Runtime.Intrinsics.Vector128`1[Int16]
+; Total bytes of code 24, prolog size 8, PerfScore 7.40, instruction count 6, allocated bytes for code 24 (MethodHash=bbf38394) for method Program:AdvSimd_CompareEqual_Vector128_Int16_Zero_Swapped(System.Runtime.Intrinsics.Vector128`1[Int16]):System.Runtime.Intrinsics.Vector128`1[Int16]
; ============================================================
Unwind Info:
@@ -36,7 +35,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 7 (0x00007) Actual length = 28 (0x00001c)
+ Function Length : 6 (0x00006) Actual length = 24 (0x000018)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
|
|
@dotnet/jit-contrib This is ready for review again. |
…time into vector-64-128-zero-arm64-opts1
echesakov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Addressing part of #33972 with
cmeqandfcmeq.This handles containment for some 'compare' hardware Intrinsics to allow their second operand to be contained if the first or second operand is
Vector64<T>.Zero/Vector128<T>.Zero.It seems that ARM64 path didn't handle many cases of containment, so this should allow for more optimization opportunities.
Diffs based on test are here.
Acceptance Criteria