# System.Runtime.Intrinsics.X86

``` diff
 namespace System.Runtime.Intrinsics.X86 {
     public abstract class Aes : Sse2 {
+        public new abstract class X64 : Sse2.X64 {
+            public static new bool IsSupported { get; }
+        }
     }
     public abstract class Avx : Sse42 {
+        public static Vector256<double> CompareEqual(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareEqual(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareGreaterThan(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareGreaterThan(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareGreaterThanOrEqual(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareGreaterThanOrEqual(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareLessThan(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareLessThan(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareLessThanOrEqual(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareLessThanOrEqual(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareNotEqual(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareNotEqual(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareNotGreaterThan(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareNotGreaterThan(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareNotGreaterThanOrEqual(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareNotGreaterThanOrEqual(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareNotLessThan(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareNotLessThan(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareNotLessThanOrEqual(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareNotLessThanOrEqual(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareOrdered(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareOrdered(Vector256<float> left, Vector256<float> right);
+        public static Vector256<double> CompareUnordered(Vector256<double> left, Vector256<double> right);
+        public static Vector256<float> CompareUnordered(Vector256<float> left, Vector256<float> right);
+        public new abstract class X64 : Sse42.X64 {
+            public static new bool IsSupported { get; }
+        }
     }
     public abstract class Avx2 : Avx {
+        public new abstract class X64 : Avx.X64 {
+            public static new bool IsSupported { get; }
+        }
     }
-    public abstract class Bmi1 {
+    public abstract class Bmi1 : X86Base {
-        public static bool IsSupported { get; }
+        public static new bool IsSupported { get; }
-        public abstract class X64 {
+        public new abstract class X64 : X86Base.X64 {
-            public static bool IsSupported { get; }
+            public static new bool IsSupported { get; }
         }
     }
-    public abstract class Bmi2 {
+    public abstract class Bmi2 : X86Base {
-        public static bool IsSupported { get; }
+        public static new bool IsSupported { get; }
-        public abstract class X64 {
+        public new abstract class X64 : X86Base.X64 {
-            public static bool IsSupported { get; }
+            public static new bool IsSupported { get; }
         }
     }
     public abstract class Fma : Avx {
+        public new abstract class X64 : Avx.X64 {
+            public static new bool IsSupported { get; }
+        }
     }
-    public abstract class Lzcnt {
+    public abstract class Lzcnt : X86Base {
-        public static bool IsSupported { get; }
+        public static new bool IsSupported { get; }
-        public abstract class X64 {
+        public new abstract class X64 : X86Base.X64 {
-            public static bool IsSupported { get; }
+            public static new bool IsSupported { get; }
         }
     }
     public abstract class Pclmulqdq : Sse2 {
+        public new abstract class X64 : Sse2.X64 {
+            public static new bool IsSupported { get; }
+        }
     }
     public abstract class Popcnt : Sse42 {
-        public new abstract class X64 : Sse41.X64
+        public new abstract class X64 : Sse42.X64
     }
-    public abstract class Sse {
+    public abstract class Sse : X86Base {
-        public static bool IsSupported { get; }
+        public static new bool IsSupported { get; }
-        public abstract class X64 {
+        public new abstract class X64 : X86Base.X64 {
-            public static bool IsSupported { get; }
+            public static new bool IsSupported { get; }
         }
     }
     public abstract class Sse2 : Sse {
+        public unsafe static void StoreScalar(int* address, Vector128<int> source);
+        public unsafe static void StoreScalar(uint* address, Vector128<uint> source);
     }
     public abstract class Sse3 : Sse2 {
+        public new abstract class X64 : Sse2.X64 {
+            public static new bool IsSupported { get; }
+        }
     }
     public abstract class Sse41 : Ssse3 {
-        public new abstract class X64 : Sse2.X64
+        public new abstract class X64 : Ssse3.X64
     }
     public abstract class Ssse3 : Sse3 {
+        public new abstract class X64 : Sse3.X64 {
+            public static new bool IsSupported { get; }
+        }
     }
+    public abstract class X86Base {
+        public static bool IsSupported { get; }
+        public static (int Eax, int Ebx, int Ecx, int Edx) CpuId(int functionId, int subFunctionId);
+        public abstract class X64 {
+            public static bool IsSupported { get; }
+        }
+    }
 }
```

