Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 72 additions & 2 deletions src/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -912,6 +912,18 @@ internal Bmi1() { }
public static ulong ResetLowestSetBit(ulong value) { throw null; }
public static uint TrailingZeroCount(uint value) { throw null; }
public static ulong TrailingZeroCount(ulong value) { throw null; }
public abstract class X64
{
internal X64() { }
public static bool IsSupported { get { throw null; } }
public static ulong AndNot(ulong left, ulong right) { throw null; }
public static ulong BitFieldExtract(ulong value, byte start, byte length) { throw null; }
public static ulong BitFieldExtract(ulong value, ushort control) { throw null; }
public static ulong ExtractLowestSetBit(ulong value) { throw null; }
public static ulong GetMaskUpToLowestSetBit(ulong value) { throw null; }
public static ulong ResetLowestSetBit(ulong value) { throw null; }
public static ulong TrailingZeroCount(ulong value) { throw null; }
}
}
public abstract class Bmi2
{
Expand All @@ -925,6 +937,15 @@ internal Bmi2() { }
public static ulong ParallelBitDeposit(ulong value, ulong mask) { throw null; }
public static uint ParallelBitExtract(uint value, uint mask) { throw null; }
public static ulong ParallelBitExtract(ulong value, ulong mask) { throw null; }
public abstract class X64
{
internal X64() { }
public static bool IsSupported { get { throw null; } }
public static ulong ZeroHighBits(ulong value, ulong index) { throw null; }
public static unsafe ulong MultiplyNoFlags(ulong left, ulong right, ulong* high) { throw null; }
public static ulong ParallelBitDeposit(ulong value, ulong mask) { throw null; }
public static ulong ParallelBitExtract(ulong value, ulong mask) { throw null; }
}
}
public enum FloatComparisonMode : byte
{
Expand Down Expand Up @@ -1023,6 +1044,12 @@ internal Lzcnt() { }
public static bool IsSupported { get { throw null; } }
public static uint LeadingZeroCount(uint value) { throw null; }
public static ulong LeadingZeroCount(ulong value) { throw null; }
public abstract class X64
{
internal X64() { }
public static bool IsSupported { get { throw null; } }
public static ulong LeadingZeroCount(ulong value) { throw null; }
}
}
public abstract class Pclmulqdq : Sse2
{
Expand All @@ -1037,11 +1064,17 @@ internal Popcnt() { }
public new static bool IsSupported { get { throw null; } }
public static uint PopCount(uint value) { throw null; }
public static ulong PopCount(ulong value) { throw null; }
public new abstract class X64 : Sse41.X64
{
internal X64() { }
public new static bool IsSupported { get { throw null; } }
public static ulong PopCount(ulong value) { throw null; }
}
}
public abstract class Sse
{
internal Sse() { }
public static bool IsSupported { get { return false; } }
public static bool IsSupported { get { throw null; } }
public static Vector128<float> Add(Vector128<float> left, Vector128<float> right) { throw null; }
public static Vector128<float> AddScalar(Vector128<float> left, Vector128<float> right) { throw null; }
public static Vector128<float> And(Vector128<float> left, Vector128<float> right) { throw null; }
Expand Down Expand Up @@ -1138,11 +1171,19 @@ internal Sse() { }
public static Vector128<float> UnpackHigh(Vector128<float> left, Vector128<float> right) { throw null; }
public static Vector128<float> UnpackLow(Vector128<float> left, Vector128<float> right) { throw null; }
public static Vector128<float> Xor(Vector128<float> left, Vector128<float> right) { throw null; }
public abstract class X64
{
internal X64() { }
public static bool IsSupported { get { throw null; } }
public static long ConvertToInt64(Vector128<float> value) { throw null; }
public static Vector128<float> ConvertScalarToVector128Single(Vector128<float> upper, long value) { throw null; }
public static long ConvertToInt64WithTruncation(Vector128<float> value) { throw null; }
}
}
public abstract class Sse2 : Sse
{
internal Sse2() { }
public new static bool IsSupported { get { return false; } }
public new static bool IsSupported { get { throw null; } }
public static Vector128<byte> Add(Vector128<byte> left, Vector128<byte> right) { throw null; }
public static Vector128<sbyte> Add(Vector128<sbyte> left, Vector128<sbyte> right) { throw null; }
public static Vector128<short> Add(Vector128<short> left, Vector128<short> right) { throw null; }
Expand Down Expand Up @@ -1470,6 +1511,20 @@ internal Sse2() { }
public static Vector128<long> Xor(Vector128<long> left, Vector128<long> right) { throw null; }
public static Vector128<ulong> Xor(Vector128<ulong> left, Vector128<ulong> right) { throw null; }
public static Vector128<double> Xor(Vector128<double> left, Vector128<double> right) { throw null; }
public new abstract class X64 : Sse.X64
{
internal X64() { }
public new static bool IsSupported { get { throw null; } }
public static long ConvertToInt64(Vector128<double> value) { throw null; }
public static long ConvertToInt64(Vector128<long> value) { throw null; }
public static ulong ConvertToUInt64(Vector128<ulong> value) { throw null; }
public static Vector128<double> ConvertScalarToVector128Double(Vector128<double> upper, long value) { throw null; }
public static Vector128<long> ConvertScalarToVector128Int64(long value) { throw null; }
public static Vector128<ulong> ConvertScalarToVector128UInt64(ulong value) { throw null; }
public static long ConvertToInt64WithTruncation(Vector128<double> value) { throw null; }
public static unsafe void StoreNonTemporal(long* address, long value) { throw null; }
public static unsafe void StoreNonTemporal(ulong* address, ulong value) { throw null; }
}
}
public abstract class Sse3 : Sse2
{
Expand Down Expand Up @@ -1653,6 +1708,15 @@ internal Sse41() { }
public static bool TestZ(Vector128<uint> left, Vector128<uint> right) { throw null; }
public static bool TestZ(Vector128<long> left, Vector128<long> right) { throw null; }
public static bool TestZ(Vector128<ulong> left, Vector128<ulong> right) { throw null; }
public new abstract class X64 : Sse2.X64
{
internal X64() { }
public new static bool IsSupported { get { throw null; } }
public static long Extract(Vector128<long> value, byte index) { throw null; }
public static ulong Extract(Vector128<ulong> value, byte index) { throw null; }
public static Vector128<long> Insert(Vector128<long> value, long data, byte index) { throw null; }
public static Vector128<ulong> Insert(Vector128<ulong> value, ulong data, byte index) { throw null; }
}
}
public abstract class Sse42 : Sse41
{
Expand Down Expand Up @@ -1695,6 +1759,12 @@ internal Sse42() { }
public static uint Crc32(uint crc, ushort data) { throw null; }
public static uint Crc32(uint crc, uint data) { throw null; }
public static ulong Crc32(ulong crc, ulong data) { throw null; }
public new abstract class X64 : Sse41.X64
{
internal X64() { }
public new static bool IsSupported { get { throw null; } }
public static ulong Crc32(ulong crc, ulong data) { throw null; }
}
}
public abstract class Ssse3 : Sse3
{
Expand Down
Loading