Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit cab0db6

Browse files
FeiPengInteljkotas
authored andcommitted
Update Intel hardware intrinsic APIs (#15601)
- add missing APIs - fix generic names - fix comments - disambiguate with `using static`
1 parent a764455 commit cab0db6

12 files changed

+782
-430
lines changed

src/mscorlib/src/System/Runtime/Intrinsics/X86/Avx.PlatformNotSupported.cs

+59-59
Large diffs are not rendered by default.

src/mscorlib/src/System/Runtime/Intrinsics/X86/Avx.cs

+61-125
Large diffs are not rendered by default.

src/mscorlib/src/System/Runtime/Intrinsics/X86/Avx2.PlatformNotSupported.cs

+127-2
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,40 @@ public static class Avx2
722722
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
723723
/// </summary>
724724
public static unsafe Vector256<ulong> Insert(Vector256<ulong> value, ulong* address, byte index) { throw new PlatformNotSupportedException(); }
725-
725+
726+
/// <summary>
727+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
728+
/// </summary>
729+
public static unsafe Vector256<sbyte> LoadAlignedVector256NonTemporal(sbyte* address) { throw new PlatformNotSupportedException(); }
730+
/// <summary>
731+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
732+
/// </summary>
733+
public static unsafe Vector256<byte> LoadAlignedVector256NonTemporal(byte* address) { throw new PlatformNotSupportedException(); }
734+
/// <summary>
735+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
736+
/// </summary>
737+
public static unsafe Vector256<short> LoadAlignedVector256NonTemporal(short* address) { throw new PlatformNotSupportedException(); }
738+
/// <summary>
739+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
740+
/// </summary>
741+
public static unsafe Vector256<ushort> LoadAlignedVector256NonTemporal(ushort* address) { throw new PlatformNotSupportedException(); }
742+
/// <summary>
743+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
744+
/// </summary>
745+
public static unsafe Vector256<int> LoadAlignedVector256NonTemporal(int* address) { throw new PlatformNotSupportedException(); }
746+
/// <summary>
747+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
748+
/// </summary>
749+
public static unsafe Vector256<uint> LoadAlignedVector256NonTemporal(uint* address) { throw new PlatformNotSupportedException(); }
750+
/// <summary>
751+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
752+
/// </summary>
753+
public static unsafe Vector256<long> LoadAlignedVector256NonTemporal(long* address) { throw new PlatformNotSupportedException(); }
754+
/// <summary>
755+
/// __m256i _mm256_inserti128_si256 (__m256i a, __m128i b, const int imm8)
756+
/// </summary>
757+
public static unsafe Vector256<ulong> LoadAlignedVector256NonTemporal(ulong* address) { throw new PlatformNotSupportedException(); }
758+
726759
/// <summary>
727760
/// __m128i _mm_maskload_epi32 (int const* mem_addr, __m128i mask)
728761
/// </summary>
@@ -893,7 +926,7 @@ public static class Avx2
893926
/// </summary>
894927
public static Vector256<short> MultiplyLow(Vector256<short> left, Vector256<short> right) { throw new PlatformNotSupportedException(); }
895928
/// <summary>
896-
/// __m256i _mm256_mullo_epu16 (__m256i a, __m256i b)
929+
/// __m256i _mm256_mullo_epi32 (__m256i a, __m256i b)
897930
/// </summary>
898931
public static Vector256<int> MultiplyLow(Vector256<int> left, Vector256<int> right) { throw new PlatformNotSupportedException(); }
899932

@@ -1006,6 +1039,31 @@ public static class Avx2
10061039
/// </summary>
10071040
public static Vector256<float> PermuteVar8x32(Vector256<float> left, Vector256<float> mask) { throw new PlatformNotSupportedException(); }
10081041

1042+
/// <summary>
1043+
/// __m256i _mm256_sll_epi16 (__m256i a, __m128i count)
1044+
/// </summary>
1045+
public static Vector256<short> ShiftLeftLogical(Vector256<short> value, Vector128<short> count) { throw new PlatformNotSupportedException(); }
1046+
/// <summary>
1047+
/// __m256i _mm256_sll_epi16 (__m256i a, __m128i count)
1048+
/// </summary>
1049+
public static Vector256<ushort> ShiftLeftLogical(Vector256<ushort> value, Vector128<ushort> count) { throw new PlatformNotSupportedException(); }
1050+
/// <summary>
1051+
/// __m256i _mm256_sll_epi32 (__m256i a, __m128i count)
1052+
/// </summary>
1053+
public static Vector256<int> ShiftLeftLogical(Vector256<int> value, Vector128<int> count) { throw new PlatformNotSupportedException(); }
1054+
/// <summary>
1055+
/// __m256i _mm256_sll_epi32 (__m256i a, __m128i count)
1056+
/// </summary>
1057+
public static Vector256<uint> ShiftLeftLogical(Vector256<uint> value, Vector128<uint> count) { throw new PlatformNotSupportedException(); }
1058+
/// <summary>
1059+
/// __m256i _mm256_sll_epi64 (__m256i a, __m128i count)
1060+
/// </summary>
1061+
public static Vector256<long> ShiftLeftLogical(Vector256<long> value, Vector128<long> count) { throw new PlatformNotSupportedException(); }
1062+
/// <summary>
1063+
/// __m256i _mm256_sll_epi64 (__m256i a, __m128i count)
1064+
/// </summary>
1065+
public static Vector256<ulong> ShiftLeftLogical(Vector256<ulong> value, Vector128<ulong> count) { throw new PlatformNotSupportedException(); }
1066+
10091067
/// <summary>
10101068
/// __m256i _mm256_slli_epi16 (__m256i a, int imm8)
10111069
/// </summary>
@@ -1081,6 +1139,31 @@ public static class Avx2
10811139
/// </summary>
10821140
public static Vector256<ulong> ShiftLeftLogicalVariable(Vector256<ulong> value, Vector256<ulong> count) { throw new PlatformNotSupportedException(); }
10831141

1142+
/// __m128i _mm_sllv_epi32 (__m128i a, __m128i count)
1143+
/// </summary>
1144+
public static Vector128<int> ShiftLeftLogicalVariable(Vector128<int> value, Vector128<uint> count) { throw new PlatformNotSupportedException(); }
1145+
/// <summary>
1146+
/// __m128i _mm_sllv_epi32 (__m128i a, __m128i count)
1147+
/// </summary>
1148+
public static Vector128<uint> ShiftLeftLogicalVariable(Vector128<uint> value, Vector128<uint> count) { throw new PlatformNotSupportedException(); }
1149+
/// <summary>
1150+
/// __m128i _mm_sllv_epi64 (__m128i a, __m128i count)
1151+
/// </summary>
1152+
public static Vector128<long> ShiftLeftLogicalVariable(Vector128<long> value, Vector128<ulong> count) { throw new PlatformNotSupportedException(); }
1153+
/// <summary>
1154+
/// __m128i _mm_sllv_epi64 (__m128i a, __m128i count)
1155+
/// </summary>
1156+
public static Vector128<ulong> ShiftLeftLogicalVariable(Vector128<ulong> value, Vector128<ulong> count) { throw new PlatformNotSupportedException(); }
1157+
1158+
/// <summary>
1159+
/// _mm256_sra_epi16 (__m256i a, __m128i count)
1160+
/// </summary>
1161+
public static Vector256<short> ShiftRightArithmetic(Vector256<short> value, Vector128<short> count) { throw new PlatformNotSupportedException(); }
1162+
/// <summary>
1163+
/// _mm256_sra_epi32 (__m256i a, __m128i count)
1164+
/// </summary>
1165+
public static Vector256<int> ShiftRightArithmetic(Vector256<int> value, Vector128<int> count) { throw new PlatformNotSupportedException(); }
1166+
10841167
/// <summary>
10851168
/// __m256i _mm256_srai_epi16 (__m256i a, int imm8)
10861169
/// </summary>
@@ -1095,6 +1178,31 @@ public static class Avx2
10951178
/// </summary>
10961179
public static Vector256<int> ShiftRightArithmeticVariable(Vector256<int> value, Vector256<uint> count) { throw new PlatformNotSupportedException(); }
10971180

1181+
/// <summary>
1182+
/// __m256i _mm256_srl_epi16 (__m256i a, __m128i count)
1183+
/// </summary>
1184+
public static Vector256<short> ShiftRightLogical(Vector256<short> value, Vector128<short> count) { throw new PlatformNotSupportedException(); }
1185+
/// <summary>
1186+
/// __m256i _mm256_srl_epi16 (__m256i a, __m128i count)
1187+
/// </summary>
1188+
public static Vector256<ushort> ShiftRightLogical(Vector256<ushort> value, Vector128<ushort> count) { throw new PlatformNotSupportedException(); }
1189+
/// <summary>
1190+
/// __m256i _mm256_srl_epi32 (__m256i a, __m128i count)
1191+
/// </summary>
1192+
public static Vector256<int> ShiftRightLogical(Vector256<int> value, Vector128<int> count) { throw new PlatformNotSupportedException(); }
1193+
/// <summary>
1194+
/// __m256i _mm256_srl_epi32 (__m256i a, __m128i count)
1195+
/// </summary>
1196+
public static Vector256<uint> ShiftRightLogical(Vector256<uint> value, Vector128<uint> count) { throw new PlatformNotSupportedException(); }
1197+
/// <summary>
1198+
/// __m256i _mm256_srl_epi64 (__m256i a, __m128i count)
1199+
/// </summary>
1200+
public static Vector256<long> ShiftRightLogical(Vector256<long> value, Vector128<long> count) { throw new PlatformNotSupportedException(); }
1201+
/// <summary>
1202+
/// __m256i _mm256_srl_epi64 (__m256i a, __m128i count)
1203+
/// </summary>
1204+
public static Vector256<ulong> ShiftRightLogical(Vector256<ulong> value, Vector128<ulong> count) { throw new PlatformNotSupportedException(); }
1205+
10981206
/// <summary>
10991207
/// __m256i _mm256_srli_epi16 (__m256i a, int imm8)
11001208
/// </summary>
@@ -1169,6 +1277,23 @@ public static class Avx2
11691277
/// __m256i _mm256_srlv_epi64 (__m256i a, __m256i count)
11701278
/// </summary>
11711279
public static Vector256<ulong> ShiftRightLogicalVariable(Vector256<ulong> value, Vector256<ulong> count) { throw new PlatformNotSupportedException(); }
1280+
1281+
/// <summary>
1282+
/// __m128i _mm_srlv_epi32 (__m128i a, __m128i count)
1283+
/// </summary>
1284+
public static Vector128<int> ShiftRightLogicalVariable(Vector128<int> value, Vector128<uint> count) { throw new PlatformNotSupportedException(); }
1285+
/// <summary>
1286+
/// __m128i _mm_srlv_epi32 (__m128i a, __m128i count)
1287+
/// </summary>
1288+
public static Vector128<uint> ShiftRightLogicalVariable(Vector128<uint> value, Vector128<uint> count) { throw new PlatformNotSupportedException(); }
1289+
/// <summary>
1290+
/// __m128i _mm_srlv_epi64 (__m128i a, __m128i count)
1291+
/// </summary>
1292+
public static Vector128<long> ShiftRightLogicalVariable(Vector128<long> value, Vector128<ulong> count) { throw new PlatformNotSupportedException(); }
1293+
/// <summary>
1294+
/// __m128i _mm_srlv_epi64 (__m128i a, __m128i count)
1295+
/// </summary>
1296+
public static Vector128<ulong> ShiftRightLogicalVariable(Vector128<ulong> value, Vector128<ulong> count) { throw new PlatformNotSupportedException(); }
11721297

11731298
/// <summary>
11741299
/// __m256i _mm256_shuffle_epi8 (__m256i a, __m256i b)

0 commit comments

Comments
 (0)