diff --git a/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoX86Intrinsics.xml b/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoX86Intrinsics.xml
index 859ceebde69d97..9ed12df60f0269 100644
--- a/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoX86Intrinsics.xml
+++ b/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoX86Intrinsics.xml
@@ -3,6 +3,9 @@
+
+
+
@@ -21,6 +24,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -111,6 +150,5 @@
-
diff --git a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
index f28e4c0ac8eba9..6f2d52f360447d 100644
--- a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
+++ b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
@@ -2422,6 +2422,10 @@
+
+
+
+
@@ -2442,6 +2446,10 @@
+
+
+
+
@@ -2574,4 +2582,4 @@
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512BW.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512BW.PlatformNotSupported.cs
new file mode 100644
index 00000000000000..31ae3725d46fbe
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512BW.PlatformNotSupported.cs
@@ -0,0 +1,33 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.Intrinsics;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512BW hardware instructions via intrinsics
+ [CLSCompliant(false)]
+ public abstract class Avx512BW : Avx512F
+ {
+ internal Avx512BW() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+
+ public new abstract class VL : Avx512F.VL
+ {
+ internal VL() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+ }
+
+ public new abstract class X64 : Avx512F.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+ }
+ }
+}
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512BW.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512BW.cs
new file mode 100644
index 00000000000000..b0fe1c60f8b33c
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512BW.cs
@@ -0,0 +1,34 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512BW hardware instructions via intrinsics
+ [Intrinsic]
+ [CLSCompliant(false)]
+ public abstract class Avx512BW : Avx512F
+ {
+ internal Avx512BW() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+
+ [Intrinsic]
+ public new abstract class VL : Avx512F.VL
+ {
+ internal VL() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+ }
+
+ [Intrinsic]
+ public new abstract class X64 : Avx512F.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+ }
+ }
+}
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512CD.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512CD.PlatformNotSupported.cs
new file mode 100644
index 00000000000000..6004737e1dd8b4
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512CD.PlatformNotSupported.cs
@@ -0,0 +1,33 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.Intrinsics;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512CD hardware instructions via intrinsics
+ [CLSCompliant(false)]
+ public abstract class Avx512CD : Avx512F
+ {
+ internal Avx512CD() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+
+ public new abstract class VL : Avx512F.VL
+ {
+ internal VL() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+ }
+
+ public new abstract class X64 : Avx512F.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+ }
+ }
+}
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512CD.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512CD.cs
new file mode 100644
index 00000000000000..c2a80f48aefbe5
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512CD.cs
@@ -0,0 +1,34 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512CD hardware instructions via intrinsics
+ [Intrinsic]
+ [CLSCompliant(false)]
+ public abstract class Avx512CD : Avx512F
+ {
+ internal Avx512CD() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+
+ [Intrinsic]
+ public new abstract class VL : Avx512F.VL
+ {
+ internal VL() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+ }
+
+ [Intrinsic]
+ public new abstract class X64 : Avx512F.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+ }
+ }
+}
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512DQ.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512DQ.PlatformNotSupported.cs
new file mode 100644
index 00000000000000..bdab068b8484b3
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512DQ.PlatformNotSupported.cs
@@ -0,0 +1,33 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.Intrinsics;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512DQ hardware instructions via intrinsics
+ [CLSCompliant(false)]
+ public abstract class Avx512DQ : Avx512F
+ {
+ internal Avx512DQ() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+
+ public new abstract class VL : Avx512F.VL
+ {
+ internal VL() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+ }
+
+ public new abstract class X64 : Avx512F.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+ }
+ }
+}
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512DQ.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512DQ.cs
new file mode 100644
index 00000000000000..01004e8b8e9ee5
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512DQ.cs
@@ -0,0 +1,34 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512DQ hardware instructions via intrinsics
+ [Intrinsic]
+ [CLSCompliant(false)]
+ public abstract class Avx512DQ : Avx512F
+ {
+ internal Avx512DQ() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+
+ [Intrinsic]
+ public new abstract class VL : Avx512F.VL
+ {
+ internal VL() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+ }
+
+ [Intrinsic]
+ public new abstract class X64 : Avx512F.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+ }
+ }
+}
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512F.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512F.PlatformNotSupported.cs
new file mode 100644
index 00000000000000..4d23668759a6ad
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512F.PlatformNotSupported.cs
@@ -0,0 +1,33 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.Intrinsics;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512F hardware instructions via intrinsics
+ [CLSCompliant(false)]
+ public abstract class Avx512F : Avx2
+ {
+ internal Avx512F() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+
+ public abstract class VL
+ {
+ internal VL() { }
+
+ public static bool IsSupported { [Intrinsic] get { return false; } }
+ }
+
+ public new abstract class X64 : Avx2.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { [Intrinsic] get { return false; } }
+ }
+ }
+}
diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512F.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512F.cs
new file mode 100644
index 00000000000000..afd7d48a622c11
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx512F.cs
@@ -0,0 +1,34 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+
+namespace System.Runtime.Intrinsics.X86
+{
+ /// This class provides access to X86 AVX512F hardware instructions via intrinsics
+ [Intrinsic]
+ [CLSCompliant(false)]
+ public abstract class Avx512F : Avx2
+ {
+ internal Avx512F() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+
+ [Intrinsic]
+ public abstract class VL
+ {
+ internal VL() { }
+
+ public static bool IsSupported { get => IsSupported; }
+ }
+
+ [Intrinsic]
+ public new abstract class X64 : Avx2.X64
+ {
+ internal X64() { }
+
+ public static new bool IsSupported { get => IsSupported; }
+ }
+ }
+}
diff --git a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs
index e8a8b67d415c3b..be37529d8ec9bc 100644
--- a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs
+++ b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs
@@ -4374,6 +4374,70 @@ internal X64() { }
}
}
[System.CLSCompliantAttribute(false)]
+ public abstract partial class Avx512BW : System.Runtime.Intrinsics.X86.Avx512F
+ {
+ internal Avx512BW() { }
+ public static new bool IsSupported { get { throw null; } }
+ public new abstract partial class VL : System.Runtime.Intrinsics.X86.Avx512F.VL
+ {
+ internal VL() { }
+ public static new bool IsSupported { get { throw null; } }
+ }
+ public new abstract partial class X64 : System.Runtime.Intrinsics.X86.Avx512F.X64
+ {
+ internal X64() { }
+ public static new bool IsSupported { get { throw null; } }
+ }
+ }
+ [System.CLSCompliantAttribute(false)]
+ public abstract partial class Avx512CD : System.Runtime.Intrinsics.X86.Avx512F
+ {
+ internal Avx512CD() { }
+ public static new bool IsSupported { get { throw null; } }
+ public new abstract partial class VL : System.Runtime.Intrinsics.X86.Avx512F.VL
+ {
+ internal VL() { }
+ public static new bool IsSupported { get { throw null; } }
+ }
+ public new abstract partial class X64 : System.Runtime.Intrinsics.X86.Avx512F.X64
+ {
+ internal X64() { }
+ public static new bool IsSupported { get { throw null; } }
+ }
+ }
+ [System.CLSCompliantAttribute(false)]
+ public abstract partial class Avx512DQ : System.Runtime.Intrinsics.X86.Avx512F
+ {
+ internal Avx512DQ() { }
+ public static new bool IsSupported { get { throw null; } }
+ public new abstract partial class VL : System.Runtime.Intrinsics.X86.Avx512F.VL
+ {
+ internal VL() { }
+ public static new bool IsSupported { get { throw null; } }
+ }
+ public new abstract partial class X64 : System.Runtime.Intrinsics.X86.Avx512F.X64
+ {
+ internal X64() { }
+ public static new bool IsSupported { get { throw null; } }
+ }
+ }
+ [System.CLSCompliantAttribute(false)]
+ public abstract partial class Avx512F : System.Runtime.Intrinsics.X86.Avx2
+ {
+ internal Avx512F() { }
+ public static new bool IsSupported { get { throw null; } }
+ public abstract partial class VL
+ {
+ internal VL() { }
+ public static bool IsSupported { get { throw null; } }
+ }
+ public new abstract partial class X64 : System.Runtime.Intrinsics.X86.Avx2.X64
+ {
+ internal X64() { }
+ public static new bool IsSupported { get { throw null; } }
+ }
+ }
+ [System.CLSCompliantAttribute(false)]
[System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("AvxVnni is in preview.")]
public abstract class AvxVnni : System.Runtime.Intrinsics.X86.Avx2
{
@@ -5210,7 +5274,7 @@ internal X64() { }
public static new bool IsSupported { get { throw null; } }
}
}
-
+
[System.CLSCompliantAttribute(false)]
public abstract partial class X86Base
{