Skip to content

Conversation

@TIHan
Copy link
Contributor

@TIHan TIHan commented Dec 16, 2021

Addressing part of #33972 with cmeq and fcmeq.

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

  • 'cmeq' handled
  • 'fcmeq' handled
  • Add tests cases

@ghost ghost assigned TIHan Dec 16, 2021
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Dec 16, 2021
@ghost
Copy link

ghost commented Dec 16, 2021

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

Addressing #33972

This handles containment for some 'compare' hardware Intrinsics to allow their second operand to be contained if the second operand is a Vector64<T>.Zero/Vector128<T>.Zero.

It seemed that ARM64 path didn't handle many cases of containment, so this should allow for more optimization opportunities of containment.

Acceptance Criteria

  • 'cmeq' handled
  • 'cmge' handled
  • 'cmgt' handled
  • 'cmle' handled
  • 'cmlt' handled
  • 'fcmeq' handled
  • 'fcmeq' handled
  • 'fcmge' handled
  • 'fcmgt' handled
  • 'fcmle' handled
  • 'fcmlt' handled
  • Add tests cases
Author: TIHan
Assignees: TIHan
Labels:

area-CodeGen-coreclr

Milestone: -

@TIHan TIHan changed the title [WIP] Vector64<T>.Zero/Vector128<T>.Zero ARM64 containment optimizations 'cmeq' Vector64<T>.Zero/Vector128<T>.Zero ARM64 containment optimizations Jan 4, 2022
@tannergooding
Copy link
Member

Changes overall LGTM.

@TIHan
Copy link
Contributor Author

TIHan commented Jan 7, 2022

/azp run runtime

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@TIHan
Copy link
Contributor Author

TIHan commented Jan 10, 2022

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)

@TIHan
Copy link
Contributor Author

TIHan commented Jan 11, 2022

@dotnet/jit-contrib This is ready for review again.

Copy link
Contributor

@echesakov echesakov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@TIHan TIHan merged commit a5158df into dotnet:main Jan 20, 2022
@TIHan TIHan deleted the vector-64-128-zero-arm64-opts1 branch January 20, 2022 02:44
@ghost ghost locked as resolved and limited conversation to collaborators Feb 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants