diff --git a/src/coreclr/System.Private.CoreLib/CompatibilitySuppressions.xml b/src/coreclr/System.Private.CoreLib/CompatibilitySuppressions.xml index ae179baa9c50e0..6a201651f126a8 100644 --- a/src/coreclr/System.Private.CoreLib/CompatibilitySuppressions.xml +++ b/src/coreclr/System.Private.CoreLib/CompatibilitySuppressions.xml @@ -1,24 +1,3 @@  - - - CP0001 - T:Internal.Console - - - CP0001 - T:System.Runtime.CompilerServices.ICastable - - - CP0002 - F:System.Resources.ResourceManager.BaseNameField - - - CP0002 - F:System.Resources.ResourceSet.Reader - - - CP0014 - M:System.Runtime.InteropServices.Marshal.CreateWrapperOfType(System.Object,System.Type)->object?:[T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute] - \ No newline at end of file diff --git a/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.cs b/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.cs index 5465d3601a7b7c..84e99da5aa050f 100644 --- a/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.cs +++ b/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.cs @@ -37,19 +37,3 @@ public static partial class Debug public static System.Diagnostics.DebugProvider SetProvider(System.Diagnostics.DebugProvider provider) { throw null; } } } -namespace System.Runtime.Intrinsics.X86 -{ - public abstract partial class X86Base - { - public abstract partial class X64 - { - public static (ulong Quotient, ulong Remainder) DivRem(ulong lower, ulong upper, ulong divisor) { throw null; } - public static (long Quotient, long Remainder) DivRem(ulong lower, long upper, long divisor) { throw null; } - } - - public static (uint Quotient, uint Remainder) DivRem(uint lower, uint upper, uint divisor) { throw null; } - public static (int Quotient, int Remainder) DivRem(uint lower, int upper, int divisor) { throw null; } - public static (nuint Quotient, nuint Remainder) DivRem(nuint lower, nuint upper, nuint divisor) { throw null; } - public static (nint Quotient, nint Remainder) DivRem(nuint lower, nint upper, nint divisor) { throw null; } - } -} \ No newline at end of file diff --git a/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.txt b/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.txt index ef258ffce6cdd5..0babd819e25d04 100644 --- a/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.txt +++ b/src/libraries/System.Private.CoreLib/ref/System.Private.CoreLib.ExtraApis.txt @@ -5,9 +5,3 @@ T:System.Runtime.Serialization.DeserializationToken M:System.Runtime.Serialization.SerializationInfo.StartDeserialization T:System.Diagnostics.DebugProvider M:System.Diagnostics.Debug.SetProvider(System.Diagnostics.DebugProvider) -M:System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64 lower, System.UInt64 upper, System.UInt64 divisor) -M:System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64 lower, System.Int64 upper, System.Int64 divisor) -M:System.Runtime.Intrinsics.X86.X86Base.DivRem(uint lower, uint upper, uint divisor) -M:System.Runtime.Intrinsics.X86.X86Base.DivRem(int lower, int upper, int divisor) -M:System.Runtime.Intrinsics.X86.X86Base.DivRem(nuint lower, nuint upper, nuint divisor) -M:System.Runtime.Intrinsics.X86.X86Base.DivRem(nuint lower, nint upper, nint divisor) \ No newline at end of file diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.PlatformNotSupported.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.PlatformNotSupported.cs index ba25f79678146f..89303f0b6ffe0c 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.PlatformNotSupported.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.PlatformNotSupported.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.CompilerServices; +using System.Runtime.Versioning; namespace System.Runtime.Intrinsics.X86 { @@ -50,12 +51,14 @@ internal X64() { } /// unsigned __int64 _udiv128(unsigned __int64 highdividend, unsigned __int64 lowdividend, unsigned __int64 divisor, unsigned __int64* remainder) /// DIV reg/m64 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (ulong Quotient, ulong Remainder) DivRem(ulong lower, ulong upper, ulong divisor) { throw new PlatformNotSupportedException(); } /// /// __int64 _div128(__int64 highdividend, __int64 lowdividend, __int64 divisor, __int64* remainder) /// DIV reg/m64 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (long Quotient, long Remainder) DivRem(ulong lower, long upper, long divisor) { throw new PlatformNotSupportedException(); } } @@ -90,21 +93,25 @@ internal X64() { } /// /// DIV reg/m32 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (uint Quotient, uint Remainder) DivRem(uint lower, uint upper, uint divisor) { throw new PlatformNotSupportedException(); } /// /// IDIV reg/m32 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (int Quotient, int Remainder) DivRem(uint lower, int upper, int divisor) { throw new PlatformNotSupportedException(); } /// /// IDIV reg/m /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (nuint Quotient, nuint Remainder) DivRem(nuint lower, nuint upper, nuint divisor) { throw new PlatformNotSupportedException(); } /// /// IDIV reg/m /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (nint Quotient, nint Remainder) DivRem(nuint lower, nint upper, nint divisor) { throw new PlatformNotSupportedException(); } /// diff --git a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.cs b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.cs index 6ba4107549e420..a4cbb1db458bd3 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/X86Base.cs @@ -3,6 +3,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using System.Runtime.Versioning; namespace System.Runtime.Intrinsics.X86 { @@ -10,9 +11,7 @@ namespace System.Runtime.Intrinsics.X86 /// This class provides access to the x86 base hardware instructions via intrinsics /// [Intrinsic] -#if SYSTEM_PRIVATE_CORELIB [CLSCompliant(false)] -#endif public abstract partial class X86Base { internal X86Base() { } @@ -52,12 +51,14 @@ internal X64() { } /// unsigned __int64 _udiv128(unsigned __int64 highdividend, unsigned __int64 lowdividend, unsigned __int64 divisor, unsigned __int64* remainder) /// DIV reg/m64 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (ulong Quotient, ulong Remainder) DivRem(ulong lower, ulong upper, ulong divisor) => DivRem(lower, upper, divisor); /// /// __int64 _div128(__int64 highdividend, __int64 lowdividend, __int64 divisor, __int64* remainder) /// DIV reg/m64 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (long Quotient, long Remainder) DivRem(ulong lower, long upper, long divisor) => DivRem(lower, upper, divisor); } @@ -89,35 +90,35 @@ internal X64() { } /// public static unsafe (int Eax, int Ebx, int Ecx, int Edx) CpuId(int functionId, int subFunctionId) { -#if SYSTEM_PRIVATE_CORELIB int* cpuInfo = stackalloc int[4]; __cpuidex(cpuInfo, functionId, subFunctionId); return (cpuInfo[0], cpuInfo[1], cpuInfo[2], cpuInfo[3]); -#else - return (0, 0, 0, 0); -#endif } /// /// unsigned _udiv64(unsigned __int64 dividend, unsigned divisor, unsigned* remainder) /// DIV reg/m32 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (uint Quotient, uint Remainder) DivRem(uint lower, uint upper, uint divisor) => DivRem(lower, upper, divisor); /// /// int _div64(__int64 dividend, int divisor, int* remainder) /// IDIV reg/m32 /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (int Quotient, int Remainder) DivRem(uint lower, int upper, int divisor) => DivRem(lower, upper, divisor); /// /// IDIV reg/m /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (nuint Quotient, nuint Remainder) DivRem(nuint lower, nuint upper, nuint divisor) => DivRem(lower, upper, divisor); /// /// IDIV reg/m /// + [RequiresPreviewFeatures("DivRem is in preview.")] public static (nint Quotient, nint Remainder) DivRem(nuint lower, nint upper, nint divisor) => DivRem(lower, upper, divisor); /// 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 47885edc44bda3..e8a8b67d415c3b 100644 --- a/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs +++ b/src/libraries/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs @@ -5217,11 +5217,23 @@ public abstract partial class X86Base internal X86Base() { } public static bool IsSupported { get { throw null; } } public static (int Eax, int Ebx, int Ecx, int Edx) CpuId(int functionId, int subFunctionId) { throw null; } + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("DivRem is in preview.")] + public static (uint Quotient, uint Remainder) DivRem(uint lower, uint upper, uint divisor) { throw null; } + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("DivRem is in preview.")] + public static (int Quotient, int Remainder) DivRem(uint lower, int upper, int divisor) { throw null; } + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("DivRem is in preview.")] + public static (nuint Quotient, nuint Remainder) DivRem(nuint lower, nuint upper, nuint divisor) { throw null; } + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("DivRem is in preview.")] + public static (nint Quotient, nint Remainder) DivRem(nuint lower, nint upper, nint divisor) { throw null; } public static void Pause() { throw null; } public abstract partial class X64 { internal X64() { } public static bool IsSupported { get { throw null; } } + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("DivRem is in preview.")] + public static (ulong Quotient, ulong Remainder) DivRem(ulong lower, ulong upper, ulong divisor) { throw null; } + [System.Runtime.Versioning.RequiresPreviewFeaturesAttribute("DivRem is in preview.")] + public static (long Quotient, long Remainder) DivRem(ulong lower, long upper, long divisor) { throw null; } } } diff --git a/src/libraries/System.Runtime.Intrinsics/src/CompatibilitySuppressions.xml b/src/libraries/System.Runtime.Intrinsics/src/CompatibilitySuppressions.xml deleted file mode 100644 index 3f4ec97bc8d07e..00000000000000 --- a/src/libraries/System.Runtime.Intrinsics/src/CompatibilitySuppressions.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(nuint lower, nint upper, nint divisor) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(nuint lower, nuint upper, nuint divisor) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UInt32 lower, System.Int32 upper, System.Int32 divisor) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UInt32 lower, System.UInt32 upper, System.UInt32 divisor) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UInt32,System.Int32,System.Int32) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UInt32,System.UInt32,System.UInt32) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UIntPtr,System.IntPtr,System.IntPtr) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.DivRem(System.UIntPtr,System.UIntPtr,System.UIntPtr) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64 lower, System.Int64 upper, System.Int64 divisor) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64 lower, System.UInt64 upper, System.UInt64 divisor) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64,System.Int64,System.Int64) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - - CP0002 - M:System.Runtime.Intrinsics.X86.X86Base.X64.DivRem(System.UInt64,System.UInt64,System.UInt64) - ref/net8.0/System.Runtime.Intrinsics.dll - lib/net8.0/System.Runtime.Intrinsics.dll - - \ No newline at end of file diff --git a/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_r.csproj b/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_r.csproj index 92103878856755..d81af3a381450c 100644 --- a/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_r.csproj +++ b/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_r.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_ro.csproj b/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_ro.csproj index 36d5b5608fede1..cec6dbb86c4810 100644 --- a/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_ro.csproj +++ b/src/tests/JIT/HardwareIntrinsics/HardwareIntrinsics_ro.csproj @@ -16,7 +16,7 @@ - + diff --git a/src/tests/JIT/HardwareIntrinsics/X86/Shared/ScalarTernOpTupleBinRetTest.template b/src/tests/JIT/HardwareIntrinsics/X86/Shared/ScalarTernOpTupleBinRetTest.template index e1e04ad6913cd0..601913aa060180 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/Shared/ScalarTernOpTupleBinRetTest.template +++ b/src/tests/JIT/HardwareIntrinsics/X86/Shared/ScalarTernOpTupleBinRetTest.template @@ -7,8 +7,6 @@ * changes, please update the corresponding template and run according to the * * directions listed in the file. * ******************************************************************************/ -extern alias CoreLib; -using X86Base = CoreLib::System.Runtime.Intrinsics.X86.X86Base; using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; diff --git a/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_r.csproj b/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_r.csproj index d4c72bc89146ce..f51cbcee5db903 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_r.csproj +++ b/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_r.csproj @@ -13,6 +13,5 @@ - diff --git a/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_ro.csproj b/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_ro.csproj index e0a62fa9bc562a..2fd3b0ea3a2698 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_ro.csproj +++ b/src/tests/JIT/HardwareIntrinsics/X86/X86Base.X64/X86Base.X64_ro.csproj @@ -13,6 +13,5 @@ - diff --git a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/DivRem.RefOnly.csproj b/src/tests/JIT/HardwareIntrinsics/X86/X86Base/DivRem.RefOnly.csproj deleted file mode 100644 index 1a70f52cd8874c..00000000000000 --- a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/DivRem.RefOnly.csproj +++ /dev/null @@ -1,22 +0,0 @@ - - - - true - Library - SharedLibrary - System.Private.CoreLib - 436 - 436 - true - - - - - - - \ No newline at end of file diff --git a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_r.csproj b/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_r.csproj index f16999cb670d13..b4db08053dcfc9 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_r.csproj +++ b/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_r.csproj @@ -13,6 +13,5 @@ - diff --git a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_ro.csproj b/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_ro.csproj index b09c5e72a5157d..13f9d7ab905045 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_ro.csproj +++ b/src/tests/JIT/HardwareIntrinsics/X86/X86Base/X86Base_ro.csproj @@ -13,6 +13,5 @@ -