Ensure Avx512Vbmi has [Intrinsic] on the right members (#86604)
authorTanner Gooding <tagoo@outlook.com>
Mon, 22 May 2023 22:25:03 +0000 (15:25 -0700)
committerGitHub <noreply@github.com>
Mon, 22 May 2023 22:25:03 +0000 (15:25 -0700)
* Ensure Avx512Vbmi has [Intrinsic] on the right members

* Ensure vpermb is covered

src/coreclr/jit/emitxarch.cpp
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512Vbmi.PlatformNotSupported.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512Vbmi.cs

index ce54be61350e79f85aaf69b86ffc9e0837def19c..6b9154d864a750c378f141c90e1f78816ecbf3c7 100644 (file)
@@ -18825,6 +18825,7 @@ emitter::insExecutionCharacteristics emitter::getInsExecutionCharacteristics(ins
         case INS_vinserti32x8:
         case INS_vinserti64x2:
         case INS_vinserti64x4:
+        case INS_vpermb:
         case INS_vpermi2d:
         case INS_vpermi2pd:
         case INS_vpermi2ps:
index a8e20ae997ad4eeeebb292c1b38994949a1f7231..c4d60ffb6dee19063b4271ccf1c78697c3e57e19 100644 (file)
@@ -7,7 +7,6 @@ using System.Runtime.CompilerServices;
 namespace System.Runtime.Intrinsics.X86
 {
     /// <summary>This class provides access to X86 AVX512VBMI hardware instructions via intrinsics</summary>
-    [Intrinsic]
     [CLSCompliant(false)]
     public abstract class Avx512Vbmi : Avx512BW
     {
@@ -15,7 +14,6 @@ namespace System.Runtime.Intrinsics.X86
 
         public static new bool IsSupported { [Intrinsic] get { return false; } }
 
-        [Intrinsic]
         public new abstract class VL : Avx512BW.VL
         {
             internal VL() { }
@@ -71,7 +69,6 @@ namespace System.Runtime.Intrinsics.X86
             public static Vector256<sbyte> PermuteVar32x8x2(Vector256<sbyte> lower, Vector256<sbyte> indices, Vector256<sbyte> upper) { throw new PlatformNotSupportedException(); }
         }
 
-        [Intrinsic]
         public new abstract class X64 : Avx512BW.X64
         {
             internal X64() { }
index 633e1e5639e415df5291ef74426676ee72a6925e..677bcdf4790146dca600028cb019325f14c5ec92 100644 (file)
@@ -9,6 +9,7 @@ using System.Runtime.Intrinsics;
 namespace System.Runtime.Intrinsics.X86
 {
     /// <summary>This class provides access to X86 AVX512VBMI hardware instructions via intrinsics</summary>
+    [Intrinsic]
     [CLSCompliant(false)]
     public abstract class Avx512Vbmi : Avx512BW
     {
@@ -16,6 +17,7 @@ namespace System.Runtime.Intrinsics.X86
 
         public static new bool IsSupported { get => IsSupported; }
 
+        [Intrinsic]
         public new abstract class VL : Avx512BW.VL
         {
             internal VL() { }
@@ -71,6 +73,7 @@ namespace System.Runtime.Intrinsics.X86
             public static Vector256<sbyte> PermuteVar32x8x2(Vector256<sbyte> lower, Vector256<sbyte> indices, Vector256<sbyte> upper) => PermuteVar32x8x2(lower, indices, upper);
         }
 
+        [Intrinsic]
         public new abstract class X64 : Avx512BW.X64
         {
             internal X64() { }