From cf31dd8035e55ada53e24ada1f351b965a9beba2 Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Tue, 7 Nov 2023 14:58:22 +0000 Subject: [PATCH 1/9] Add Sve.IsSupported support --- src/coreclr/jit/CMakeLists.txt | 1 + src/coreclr/jit/hwintrinsiclistarm64.h | 2 ++ src/coreclr/jit/hwintrinsiclistarm64sve.h | 24 ++++++++++++++ .../ILLink.Substitutions.NoArmIntrinsics.xml | 6 ++++ .../System.Private.CoreLib.Shared.projitems | 2 ++ .../Arm/Sve.PlatformNotSupported.cs | 31 ++++++++++++++++++ .../src/System/Runtime/Intrinsics/Arm/Sve.cs | 32 +++++++++++++++++++ .../ref/System.Runtime.Intrinsics.cs | 13 ++++++++ .../GenerateHWIntrinsicTests_Arm.cs | 14 ++++++++ .../HardwareIntrinsics/Arm/Shared/Program.cs | 1 + .../HardwareIntrinsics/Arm/Sve/Program.Sve.cs | 16 ++++++++++ .../HardwareIntrinsics/Arm/Sve/Sve_r.csproj | 14 ++++++++ .../HardwareIntrinsics/Arm/Sve/Sve_ro.csproj | 14 ++++++++ 13 files changed, 170 insertions(+) create mode 100644 src/coreclr/jit/hwintrinsiclistarm64sve.h create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs create mode 100644 src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs create mode 100644 src/tests/JIT/HardwareIntrinsics/Arm/Sve/Program.Sve.cs create mode 100644 src/tests/JIT/HardwareIntrinsics/Arm/Sve/Sve_r.csproj create mode 100644 src/tests/JIT/HardwareIntrinsics/Arm/Sve/Sve_ro.csproj diff --git a/src/coreclr/jit/CMakeLists.txt b/src/coreclr/jit/CMakeLists.txt index 480d9d50350ddc..aa660321075890 100644 --- a/src/coreclr/jit/CMakeLists.txt +++ b/src/coreclr/jit/CMakeLists.txt @@ -402,6 +402,7 @@ set( JIT_ARM64_HEADERS emitfmtsarm64.h emitfmtsarm64sve.h hwintrinsiclistarm64.h + hwintrinsiclistarm64sve.h instrsarm64.h instrsarm64sve.h registerarm64.h diff --git a/src/coreclr/jit/hwintrinsiclistarm64.h b/src/coreclr/jit/hwintrinsiclistarm64.h index cb4c8269d61171..e334a20bd59fe1 100644 --- a/src/coreclr/jit/hwintrinsiclistarm64.h +++ b/src/coreclr/jit/hwintrinsiclistarm64.h @@ -802,6 +802,8 @@ HARDWARE_INTRINSIC(Sha256, ScheduleUpdate1, #endif // FEATURE_HW_INTRINSIC +#include "hwintrinsiclistarm64sve.h" + #undef HARDWARE_INTRINSIC // clang-format on diff --git a/src/coreclr/jit/hwintrinsiclistarm64sve.h b/src/coreclr/jit/hwintrinsiclistarm64sve.h new file mode 100644 index 00000000000000..f8263c40bb0c66 --- /dev/null +++ b/src/coreclr/jit/hwintrinsiclistarm64sve.h @@ -0,0 +1,24 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +/*****************************************************************************/ +#ifndef HARDWARE_INTRINSIC +#error Define HARDWARE_INTRINSIC before including this file +#endif +/*****************************************************************************/ + +// clang-format off + +#ifdef FEATURE_HW_INTRINSICS +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// ISA Function name SIMD size NumArg EncodesExtraTypeArg Instructions Category Flags +// {TYP_BYTE, TYP_UBYTE, TYP_SHORT, TYP_USHORT, TYP_INT, TYP_UINT, TYP_LONG, TYP_ULONG, TYP_FLOAT, TYP_DOUBLE} +// *************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** +// SVE Intrinsics + + +#endif // FEATURE_HW_INTRINSIC + +#undef HARDWARE_INTRINSIC + +// clang-format on diff --git a/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoArmIntrinsics.xml b/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoArmIntrinsics.xml index 1da6f6d57d26e3..7d05d2b47a61fe 100644 --- a/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoArmIntrinsics.xml +++ b/src/libraries/System.Private.CoreLib/src/ILLink/ILLink.Substitutions.NoArmIntrinsics.xml @@ -51,5 +51,11 @@ + + + + + + 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 e46bd04f7d6958..1213cb5d3cb22b 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 @@ -2632,6 +2632,7 @@ + @@ -2642,6 +2643,7 @@ + diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs new file mode 100644 index 00000000000000..79bf23ac664435 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs @@ -0,0 +1,31 @@ +// 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; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + public abstract class Sve : AdvSimd + { + internal Sve() { } + + public static new bool IsSupported { get => IsSupported; } + + [Intrinsic] + public new abstract class Arm64 : AdvSimd.Arm64 + { + internal Arm64() { } + + public static new bool IsSupported { get => IsSupported; } + } + + } +} diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs new file mode 100644 index 00000000000000..c477dbbef6d906 --- /dev/null +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs @@ -0,0 +1,32 @@ +// 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; +using System.Runtime.Intrinsics; +using System.Numerics; + +namespace System.Runtime.Intrinsics.Arm +{ + /// + /// This class provides access to the ARM SVE hardware instructions via intrinsics + /// + [Intrinsic] + [CLSCompliant(false)] + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("Sve is in preview.")] + public abstract class Sve : AdvSimd + { + internal Sve() { } + + public static new bool IsSupported { get => IsSupported; } + + [Intrinsic] + public new abstract class Arm64 : AdvSimd.Arm64 + { + internal Arm64() { } + + 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 b3db125c2c7ece..4719eb86f4f985 100644 --- a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs +++ b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs @@ -4142,6 +4142,19 @@ internal Arm64() { } public static new bool IsSupported { get { throw null; } } } } + [System.CLSCompliantAttribute(false)] + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("Sve is in preview.")] + public abstract partial class Sve : System.Runtime.Intrinsics.Arm.AdvSimd + { + internal Sve() { } + public static new bool IsSupported { get { throw null; } } + + public new abstract partial class Arm64 : System.Runtime.Intrinsics.Arm.ArmBase.Arm64 + { + internal Arm64() { } + public static new bool IsSupported { get { throw null; } } + } + } } namespace System.Runtime.Intrinsics.X86 { diff --git a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs index 30adb388b9f1dc..84d2c0b0d28123 100644 --- a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs +++ b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs @@ -2893,6 +2893,13 @@ ("SecureHashTernOpTest.template", new Dictionary { ["TestName"] = "ScheduleUpdate1_Vector128_UInt32", ["Isa"] = "Sha256", ["LoadIsa"] = "AdvSimd", ["Method"] = "ScheduleUpdate1", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "0x00112233", ["NextValueOp2"] = "0x44556677", ["NextValueOp3"] = "0x8899AABB", ["ExpectedResult"] = "{0x248F1BDF, 0x248F1BDF, 0xB303DDBA, 0xF74821FE}"}), }; +(string templateFileName, Dictionary templateData)[] SveInputs = new [] +{ + //TODO-SVE: Replace LoadUnOpTest with SVE tests + ("LoadUnOpTest.template", new Dictionary { ["TestName"] = "LoadVector64_Byte", ["Isa"] = "AdvSimd", ["Method"] = "LoadVector64", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "firstOp[i] != result[i]"}), +}; + + string projectName = args[0]; string templateDirectory = args[1]; string outputDirectory = args[2]; @@ -2910,6 +2917,7 @@ ProcessInputs("Rdm.Arm64", Rdm_Arm64Inputs); ProcessInputs("Sha1", Sha1Inputs); ProcessInputs("Sha256", Sha256Inputs); +ProcessInputs("Sve", SveInputs); void ProcessInputs(string groupName, (string templateFileName, Dictionary templateData)[] inputs) { @@ -2920,6 +2928,9 @@ void ProcessInputs(string groupName, (string templateFileName, Dictionary + + true + + + Embedded + + + + + + + + diff --git a/src/tests/JIT/HardwareIntrinsics/Arm/Sve/Sve_ro.csproj b/src/tests/JIT/HardwareIntrinsics/Arm/Sve/Sve_ro.csproj new file mode 100644 index 00000000000000..a9d4a43b42ae16 --- /dev/null +++ b/src/tests/JIT/HardwareIntrinsics/Arm/Sve/Sve_ro.csproj @@ -0,0 +1,14 @@ + + + true + + + Embedded + True + + + + + + + From 6f1633c729d7d8f7ff08350e044a8583bc3d306f Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Fri, 2 Feb 2024 12:03:50 +0000 Subject: [PATCH 2/9] Remove debugging --- .../GenerateHWIntrinsicTests_Arm.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs index 84d2c0b0d28123..741ee1e2a1f765 100644 --- a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs +++ b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs @@ -2928,9 +2928,6 @@ void ProcessInputs(string groupName, (string templateFileName, Dictionary Date: Mon, 5 Feb 2024 08:29:35 -0800 Subject: [PATCH 3/9] Add RequiresPreviewFeaturesAttribute in PlatformNotSupported file --- .../System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs index 79bf23ac664435..c477dbbef6d906 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs @@ -13,6 +13,7 @@ namespace System.Runtime.Intrinsics.Arm /// [Intrinsic] [CLSCompliant(false)] + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("Sve is in preview.")] public abstract class Sve : AdvSimd { internal Sve() { } From fe0c6c64b89c0fb7e596a28e03c0c09f5da000fa Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Mon, 5 Feb 2024 10:08:53 -0800 Subject: [PATCH 4/9] fix the base class name --- .../System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4719eb86f4f985..1bc93d71e25e82 100644 --- a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs +++ b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs @@ -4149,7 +4149,7 @@ public abstract partial class Sve : System.Runtime.Intrinsics.Arm.AdvSimd internal Sve() { } public static new bool IsSupported { get { throw null; } } - public new abstract partial class Arm64 : System.Runtime.Intrinsics.Arm.ArmBase.Arm64 + public new abstract partial class Arm64 : System.Runtime.Intrinsics.Arm.AdvSimd.Arm64 { internal Arm64() { } public static new bool IsSupported { get { throw null; } } From 15cd4a51a06839688645c69cdc3b5a6d3f9a553c Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Tue, 6 Feb 2024 11:46:02 +0000 Subject: [PATCH 5/9] Add mono checks --- src/mono/mono/mini/mini.h | 1 + src/mono/mono/mini/simd-intrinsics.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/mono/mono/mini/mini.h b/src/mono/mono/mini/mini.h index cd2cad8e7dcece..8532f788e17ebb 100644 --- a/src/mono/mono/mini/mini.h +++ b/src/mono/mono/mini/mini.h @@ -2927,6 +2927,7 @@ typedef enum { MONO_CPU_ARM64_NEON = 1 << 4, MONO_CPU_ARM64_RDM = 1 << 5, MONO_CPU_ARM64_DP = 1 << 6, + MONO_CPU_ARM64_SVE = 1 << 7, #endif } MonoCPUFeatures; diff --git a/src/mono/mono/mini/simd-intrinsics.c b/src/mono/mono/mini/simd-intrinsics.c index 8955ede9b10506..948e2d86b8f2ac 100644 --- a/src/mono/mono/mini/simd-intrinsics.c +++ b/src/mono/mono/mini/simd-intrinsics.c @@ -3902,6 +3902,7 @@ static const IntrinGroup supported_arm_intrinsics [] = { { "Rdm", MONO_CPU_ARM64_RDM, rdm_methods, sizeof (rdm_methods) }, { "Sha1", MONO_CPU_ARM64_CRYPTO, sha1_methods, sizeof (sha1_methods) }, { "Sha256", MONO_CPU_ARM64_CRYPTO, sha256_methods, sizeof (sha256_methods) }, + { "Sve", MONO_CPU_ARM64_SVE, unsupported, sizeof (unsupported) }, }; static MonoInst* From f8dee50c048fdac09c7287fdfdc4d44739c9376e Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Wed, 7 Feb 2024 09:32:56 +0000 Subject: [PATCH 6/9] Review cleanups --- .../Intrinsics/Arm/Sve.PlatformNotSupported.cs | 14 ++++++++------ .../src/System/Runtime/Intrinsics/Arm/Sve.cs | 1 - 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs index c477dbbef6d906..10b7f0b12a9c77 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs @@ -14,19 +14,21 @@ namespace System.Runtime.Intrinsics.Arm [Intrinsic] [CLSCompliant(false)] [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("Sve is in preview.")] - public abstract class Sve : AdvSimd +#if SYSTEM_PRIVATE_CORELIB + public +#else + internal +#endif + abstract class Sve : AdvSimd { internal Sve() { } - public static new bool IsSupported { get => IsSupported; } + public static new bool IsSupported { [Intrinsic] get { return false; } } - [Intrinsic] public new abstract class Arm64 : AdvSimd.Arm64 { internal Arm64() { } - public static new bool IsSupported { get => IsSupported; } + public static new bool IsSupported { [Intrinsic] get { return false; } } } - } -} diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs index c477dbbef6d906..7a71144e0bc33f 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.cs @@ -27,6 +27,5 @@ internal Arm64() { } public static new bool IsSupported { get => IsSupported; } } - } } From 62f3a58c7f5723f0e64b34f59ca3ffde8b04a4cf Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Wed, 7 Feb 2024 09:59:04 +0000 Subject: [PATCH 7/9] Remove dummy sve test --- .../GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs index 741ee1e2a1f765..48761b8619c353 100644 --- a/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs +++ b/src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_Arm.cs @@ -2893,10 +2893,9 @@ ("SecureHashTernOpTest.template", new Dictionary { ["TestName"] = "ScheduleUpdate1_Vector128_UInt32", ["Isa"] = "Sha256", ["LoadIsa"] = "AdvSimd", ["Method"] = "ScheduleUpdate1", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt32", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt32", ["Op2VectorType"] = "Vector128", ["Op2BaseType"] = "UInt32", ["Op3VectorType"] = "Vector128", ["Op3BaseType"] = "UInt32", ["LargestVectorSize"] = "16", ["NextValueOp1"] = "0x00112233", ["NextValueOp2"] = "0x44556677", ["NextValueOp3"] = "0x8899AABB", ["ExpectedResult"] = "{0x248F1BDF, 0x248F1BDF, 0xB303DDBA, 0xF74821FE}"}), }; -(string templateFileName, Dictionary templateData)[] SveInputs = new [] +(string templateFileName, Dictionary templateData)[] SveInputs = Array.Empty<(string templateFileName, Dictionary templateData)>(); { - //TODO-SVE: Replace LoadUnOpTest with SVE tests - ("LoadUnOpTest.template", new Dictionary { ["TestName"] = "LoadVector64_Byte", ["Isa"] = "AdvSimd", ["Method"] = "LoadVector64", ["RetVectorType"] = "Vector64", ["RetBaseType"] = "Byte", ["Op1VectorType"] = "Vector64", ["Op1BaseType"] = "Byte", ["LargestVectorSize"] = "8", ["NextValueOp1"] = "TestLibrary.Generator.GetByte()", ["ValidateIterResult"] = "firstOp[i] != result[i]"}), + //TODO-SVE: Add SVE tests }; From 92f736a8772ede0d2dbd2c2fd8266dcdd75eff6f Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Wed, 7 Feb 2024 15:30:12 +0000 Subject: [PATCH 8/9] Fix Sve.PlatformNotSupported.cs --- .../System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs index 10b7f0b12a9c77..d7e1193e9d16ce 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs @@ -32,3 +32,4 @@ internal Arm64() { } public static new bool IsSupported { [Intrinsic] get { return false; } } } } +} From 25532ae71340e5d3719efc5669d171f39628942d Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Wed, 7 Feb 2024 16:25:01 +0000 Subject: [PATCH 9/9] Remove intrinsic marking --- .../System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs index d7e1193e9d16ce..3eeb40d5d9de19 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Arm/Sve.PlatformNotSupported.cs @@ -11,7 +11,6 @@ namespace System.Runtime.Intrinsics.Arm /// /// This class provides access to the ARM SVE hardware instructions via intrinsics /// - [Intrinsic] [CLSCompliant(false)] [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("Sve is in preview.")] #if SYSTEM_PRIVATE_CORELIB