Skip to content

Commit a1d8a65

Browse files
committed
re-introduce Avx10v1_V512 as an ISA.
1 parent cc89c1d commit a1d8a65

9 files changed

+362
-142
lines changed

src/coreclr/inc/corinfoinstructionset.h

+134-68
Original file line numberDiff line numberDiff line change
@@ -77,40 +77,42 @@ enum CORINFO_InstructionSet
7777
InstructionSet_AVX512VBMI=32,
7878
InstructionSet_AVX512VBMI_VL=33,
7979
InstructionSet_AVX10v1=34,
80-
InstructionSet_VectorT128=35,
81-
InstructionSet_VectorT256=36,
82-
InstructionSet_VectorT512=37,
83-
InstructionSet_X86Base_X64=38,
84-
InstructionSet_SSE_X64=39,
85-
InstructionSet_SSE2_X64=40,
86-
InstructionSet_SSE3_X64=41,
87-
InstructionSet_SSSE3_X64=42,
88-
InstructionSet_SSE41_X64=43,
89-
InstructionSet_SSE42_X64=44,
90-
InstructionSet_AVX_X64=45,
91-
InstructionSet_AVX2_X64=46,
92-
InstructionSet_AES_X64=47,
93-
InstructionSet_BMI1_X64=48,
94-
InstructionSet_BMI2_X64=49,
95-
InstructionSet_FMA_X64=50,
96-
InstructionSet_LZCNT_X64=51,
97-
InstructionSet_PCLMULQDQ_X64=52,
98-
InstructionSet_POPCNT_X64=53,
99-
InstructionSet_AVXVNNI_X64=54,
100-
InstructionSet_MOVBE_X64=55,
101-
InstructionSet_X86Serialize_X64=56,
102-
InstructionSet_EVEX_X64=57,
103-
InstructionSet_AVX512F_X64=58,
104-
InstructionSet_AVX512F_VL_X64=59,
105-
InstructionSet_AVX512BW_X64=60,
106-
InstructionSet_AVX512BW_VL_X64=61,
107-
InstructionSet_AVX512CD_X64=62,
108-
InstructionSet_AVX512CD_VL_X64=63,
109-
InstructionSet_AVX512DQ_X64=64,
110-
InstructionSet_AVX512DQ_VL_X64=65,
111-
InstructionSet_AVX512VBMI_X64=66,
112-
InstructionSet_AVX512VBMI_VL_X64=67,
113-
InstructionSet_AVX10v1_X64=68,
80+
InstructionSet_AVX10v1_V512=35,
81+
InstructionSet_VectorT128=36,
82+
InstructionSet_VectorT256=37,
83+
InstructionSet_VectorT512=38,
84+
InstructionSet_X86Base_X64=39,
85+
InstructionSet_SSE_X64=40,
86+
InstructionSet_SSE2_X64=41,
87+
InstructionSet_SSE3_X64=42,
88+
InstructionSet_SSSE3_X64=43,
89+
InstructionSet_SSE41_X64=44,
90+
InstructionSet_SSE42_X64=45,
91+
InstructionSet_AVX_X64=46,
92+
InstructionSet_AVX2_X64=47,
93+
InstructionSet_AES_X64=48,
94+
InstructionSet_BMI1_X64=49,
95+
InstructionSet_BMI2_X64=50,
96+
InstructionSet_FMA_X64=51,
97+
InstructionSet_LZCNT_X64=52,
98+
InstructionSet_PCLMULQDQ_X64=53,
99+
InstructionSet_POPCNT_X64=54,
100+
InstructionSet_AVXVNNI_X64=55,
101+
InstructionSet_MOVBE_X64=56,
102+
InstructionSet_X86Serialize_X64=57,
103+
InstructionSet_EVEX_X64=58,
104+
InstructionSet_AVX512F_X64=59,
105+
InstructionSet_AVX512F_VL_X64=60,
106+
InstructionSet_AVX512BW_X64=61,
107+
InstructionSet_AVX512BW_VL_X64=62,
108+
InstructionSet_AVX512CD_X64=63,
109+
InstructionSet_AVX512CD_VL_X64=64,
110+
InstructionSet_AVX512DQ_X64=65,
111+
InstructionSet_AVX512DQ_VL_X64=66,
112+
InstructionSet_AVX512VBMI_X64=67,
113+
InstructionSet_AVX512VBMI_VL_X64=68,
114+
InstructionSet_AVX10v1_X64=69,
115+
InstructionSet_AVX10v1_V512_X64=70,
114116
#endif // TARGET_AMD64
115117
#ifdef TARGET_X86
116118
InstructionSet_X86Base=1,
@@ -147,40 +149,42 @@ enum CORINFO_InstructionSet
147149
InstructionSet_AVX512VBMI=32,
148150
InstructionSet_AVX512VBMI_VL=33,
149151
InstructionSet_AVX10v1=34,
150-
InstructionSet_VectorT128=35,
151-
InstructionSet_VectorT256=36,
152-
InstructionSet_VectorT512=37,
153-
InstructionSet_X86Base_X64=38,
154-
InstructionSet_SSE_X64=39,
155-
InstructionSet_SSE2_X64=40,
156-
InstructionSet_SSE3_X64=41,
157-
InstructionSet_SSSE3_X64=42,
158-
InstructionSet_SSE41_X64=43,
159-
InstructionSet_SSE42_X64=44,
160-
InstructionSet_AVX_X64=45,
161-
InstructionSet_AVX2_X64=46,
162-
InstructionSet_AES_X64=47,
163-
InstructionSet_BMI1_X64=48,
164-
InstructionSet_BMI2_X64=49,
165-
InstructionSet_FMA_X64=50,
166-
InstructionSet_LZCNT_X64=51,
167-
InstructionSet_PCLMULQDQ_X64=52,
168-
InstructionSet_POPCNT_X64=53,
169-
InstructionSet_AVXVNNI_X64=54,
170-
InstructionSet_MOVBE_X64=55,
171-
InstructionSet_X86Serialize_X64=56,
172-
InstructionSet_EVEX_X64=57,
173-
InstructionSet_AVX512F_X64=58,
174-
InstructionSet_AVX512F_VL_X64=59,
175-
InstructionSet_AVX512BW_X64=60,
176-
InstructionSet_AVX512BW_VL_X64=61,
177-
InstructionSet_AVX512CD_X64=62,
178-
InstructionSet_AVX512CD_VL_X64=63,
179-
InstructionSet_AVX512DQ_X64=64,
180-
InstructionSet_AVX512DQ_VL_X64=65,
181-
InstructionSet_AVX512VBMI_X64=66,
182-
InstructionSet_AVX512VBMI_VL_X64=67,
183-
InstructionSet_AVX10v1_X64=68,
152+
InstructionSet_AVX10v1_V512=35,
153+
InstructionSet_VectorT128=36,
154+
InstructionSet_VectorT256=37,
155+
InstructionSet_VectorT512=38,
156+
InstructionSet_X86Base_X64=39,
157+
InstructionSet_SSE_X64=40,
158+
InstructionSet_SSE2_X64=41,
159+
InstructionSet_SSE3_X64=42,
160+
InstructionSet_SSSE3_X64=43,
161+
InstructionSet_SSE41_X64=44,
162+
InstructionSet_SSE42_X64=45,
163+
InstructionSet_AVX_X64=46,
164+
InstructionSet_AVX2_X64=47,
165+
InstructionSet_AES_X64=48,
166+
InstructionSet_BMI1_X64=49,
167+
InstructionSet_BMI2_X64=50,
168+
InstructionSet_FMA_X64=51,
169+
InstructionSet_LZCNT_X64=52,
170+
InstructionSet_PCLMULQDQ_X64=53,
171+
InstructionSet_POPCNT_X64=54,
172+
InstructionSet_AVXVNNI_X64=55,
173+
InstructionSet_MOVBE_X64=56,
174+
InstructionSet_X86Serialize_X64=57,
175+
InstructionSet_EVEX_X64=58,
176+
InstructionSet_AVX512F_X64=59,
177+
InstructionSet_AVX512F_VL_X64=60,
178+
InstructionSet_AVX512BW_X64=61,
179+
InstructionSet_AVX512BW_VL_X64=62,
180+
InstructionSet_AVX512CD_X64=63,
181+
InstructionSet_AVX512CD_VL_X64=64,
182+
InstructionSet_AVX512DQ_X64=65,
183+
InstructionSet_AVX512DQ_VL_X64=66,
184+
InstructionSet_AVX512VBMI_X64=67,
185+
InstructionSet_AVX512VBMI_VL_X64=68,
186+
InstructionSet_AVX10v1_X64=69,
187+
InstructionSet_AVX10v1_V512_X64=70,
184188
#endif // TARGET_X86
185189

186190
};
@@ -358,6 +362,8 @@ struct CORINFO_InstructionSetFlags
358362
AddInstructionSet(InstructionSet_AVX512VBMI_VL_X64);
359363
if (HasInstructionSet(InstructionSet_AVX10v1))
360364
AddInstructionSet(InstructionSet_AVX10v1_X64);
365+
if (HasInstructionSet(InstructionSet_AVX10v1_V512))
366+
AddInstructionSet(InstructionSet_AVX10v1_V512_X64);
361367
#endif // TARGET_AMD64
362368
#ifdef TARGET_X86
363369
#endif // TARGET_X86
@@ -562,6 +568,10 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins
562568
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1);
563569
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX10v1))
564570
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_X64);
571+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512_X64))
572+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
573+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512_X64) && !resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512))
574+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512_X64);
565575
if (resultflags.HasInstructionSet(InstructionSet_SSE) && !resultflags.HasInstructionSet(InstructionSet_X86Base))
566576
resultflags.RemoveInstructionSet(InstructionSet_SSE);
567577
if (resultflags.HasInstructionSet(InstructionSet_SSE2) && !resultflags.HasInstructionSet(InstructionSet_SSE))
@@ -638,6 +648,30 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins
638648
resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL);
639649
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1) && !resultflags.HasInstructionSet(InstructionSet_EVEX))
640650
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1);
651+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_EVEX))
652+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
653+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX10v1))
654+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
655+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F))
656+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
657+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL))
658+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
659+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD))
660+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
661+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL))
662+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
663+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW))
664+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
665+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL))
666+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
667+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ))
668+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
669+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL))
670+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
671+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI))
672+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
673+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL))
674+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
641675
if (resultflags.HasInstructionSet(InstructionSet_VectorT128) && !resultflags.HasInstructionSet(InstructionSet_SSE2))
642676
resultflags.RemoveInstructionSet(InstructionSet_VectorT128);
643677
if (resultflags.HasInstructionSet(InstructionSet_VectorT256) && !resultflags.HasInstructionSet(InstructionSet_AVX2))
@@ -728,6 +762,30 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins
728762
resultflags.RemoveInstructionSet(InstructionSet_AVX512VBMI_VL);
729763
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1) && !resultflags.HasInstructionSet(InstructionSet_EVEX))
730764
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1);
765+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_EVEX))
766+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
767+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX10v1))
768+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
769+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F))
770+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
771+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512F_VL))
772+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
773+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD))
774+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
775+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512CD_VL))
776+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
777+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW))
778+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
779+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512BW_VL))
780+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
781+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ))
782+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
783+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512DQ_VL))
784+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
785+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI))
786+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
787+
if (resultflags.HasInstructionSet(InstructionSet_AVX10v1_V512) && !resultflags.HasInstructionSet(InstructionSet_AVX512VBMI_VL))
788+
resultflags.RemoveInstructionSet(InstructionSet_AVX10v1_V512);
731789
if (resultflags.HasInstructionSet(InstructionSet_VectorT128) && !resultflags.HasInstructionSet(InstructionSet_SSE2))
732790
resultflags.RemoveInstructionSet(InstructionSet_VectorT128);
733791
if (resultflags.HasInstructionSet(InstructionSet_VectorT256) && !resultflags.HasInstructionSet(InstructionSet_AVX2))
@@ -938,6 +996,10 @@ inline const char *InstructionSetToString(CORINFO_InstructionSet instructionSet)
938996
return "AVX10v1";
939997
case InstructionSet_AVX10v1_X64 :
940998
return "AVX10v1_X64";
999+
case InstructionSet_AVX10v1_V512 :
1000+
return "AVX10v1_V512";
1001+
case InstructionSet_AVX10v1_V512_X64 :
1002+
return "AVX10v1_V512_X64";
9411003
case InstructionSet_VectorT128 :
9421004
return "VectorT128";
9431005
case InstructionSet_VectorT256 :
@@ -1014,6 +1076,8 @@ inline const char *InstructionSetToString(CORINFO_InstructionSet instructionSet)
10141076
return "AVX512VBMI_VL";
10151077
case InstructionSet_AVX10v1 :
10161078
return "AVX10v1";
1079+
case InstructionSet_AVX10v1_V512 :
1080+
return "AVX10v1_V512";
10171081
case InstructionSet_VectorT128 :
10181082
return "VectorT128";
10191083
case InstructionSet_VectorT256 :
@@ -1086,6 +1150,7 @@ inline CORINFO_InstructionSet InstructionSetFromR2RInstructionSet(ReadyToRunInst
10861150
case READYTORUN_INSTRUCTION_Avx512Vbmi: return InstructionSet_AVX512VBMI;
10871151
case READYTORUN_INSTRUCTION_Avx512Vbmi_VL: return InstructionSet_AVX512VBMI_VL;
10881152
case READYTORUN_INSTRUCTION_Avx10v1: return InstructionSet_AVX10v1;
1153+
case READYTORUN_INSTRUCTION_Avx10v1_V512: return InstructionSet_AVX10v1_V512;
10891154
case READYTORUN_INSTRUCTION_VectorT128: return InstructionSet_VectorT128;
10901155
case READYTORUN_INSTRUCTION_VectorT256: return InstructionSet_VectorT256;
10911156
case READYTORUN_INSTRUCTION_VectorT512: return InstructionSet_VectorT512;
@@ -1122,6 +1187,7 @@ inline CORINFO_InstructionSet InstructionSetFromR2RInstructionSet(ReadyToRunInst
11221187
case READYTORUN_INSTRUCTION_Avx512Vbmi: return InstructionSet_AVX512VBMI;
11231188
case READYTORUN_INSTRUCTION_Avx512Vbmi_VL: return InstructionSet_AVX512VBMI_VL;
11241189
case READYTORUN_INSTRUCTION_Avx10v1: return InstructionSet_AVX10v1;
1190+
case READYTORUN_INSTRUCTION_Avx10v1_V512: return InstructionSet_AVX10v1_V512;
11251191
case READYTORUN_INSTRUCTION_VectorT128: return InstructionSet_VectorT128;
11261192
case READYTORUN_INSTRUCTION_VectorT256: return InstructionSet_VectorT256;
11271193
case READYTORUN_INSTRUCTION_VectorT512: return InstructionSet_VectorT512;

src/coreclr/inc/jiteeversionguid.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ typedef const GUID *LPCGUID;
4343
#define GUID_DEFINED
4444
#endif // !GUID_DEFINED
4545

46-
constexpr GUID JITEEVersionIdentifier = { /* a82f62f9-7c17-4994-92e0-7e8401aeaf4d */
47-
0xa82f62f9,
48-
0x7c17,
49-
0x4994,
50-
{0x92, 0xe0, 0x7e, 0x84, 0x01, 0xae, 0xaf, 0x4d}
46+
constexpr GUID JITEEVersionIdentifier = { /* 539f6204-c4bd-4cd3-8ed0-8cd6f60b2912 */
47+
0x539f6204,
48+
0xc4bd,
49+
0x4cd3,
50+
{0x8e, 0xd0, 0x8c, 0xd6, 0xf6, 0x0b, 0x29, 0x12}
5151
};
5252

5353
//////////////////////////////////////////////////////////////////////////////////////////////////////////

src/coreclr/inc/readytoruninstructionset.h

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ enum ReadyToRunInstructionSet
5454
READYTORUN_INSTRUCTION_Sve=43,
5555
READYTORUN_INSTRUCTION_Avx10v1=44,
5656
READYTORUN_INSTRUCTION_EVEX=45,
57+
READYTORUN_INSTRUCTION_Avx10v1_V512=46,
5758

5859
};
5960

src/coreclr/tools/Common/Compiler/HardwareIntrinsicHelpers.cs

+4
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ public static void AddToBuilder(InstructionSetSupportBuilder builder, int flags)
137137
builder.AddSupportedInstructionSet("serialize");
138138
if ((flags & Avx10v1) != 0)
139139
builder.AddSupportedInstructionSet("avx10v1");
140+
if (((flags & Avx10v1) != 0) && ((flags & Avx512f) != 0))
141+
builder.AddSupportedInstructionSet("avx10v1_v512");
140142
if ((flags & Evex) != 0)
141143
builder.AddSupportedInstructionSet("evex");
142144
}
@@ -204,6 +206,8 @@ public static int FromInstructionSet(InstructionSet instructionSet)
204206
InstructionSet.X64_X86Serialize_X64 => Serialize,
205207
InstructionSet.X64_AVX10v1 => Avx10v1,
206208
InstructionSet.X64_AVX10v1_X64 => Avx10v1,
209+
InstructionSet.X64_AVX10v1_V512 => (Avx10v1 | Avx512f),
210+
InstructionSet.X64_AVX10v1_V512_X64 => (Avx10v1 | Avx512f),
207211
InstructionSet.X64_EVEX => Evex,
208212
InstructionSet.X64_EVEX_X64 => Evex,
209213

src/coreclr/tools/Common/Internal/Runtime/ReadyToRunInstructionSet.cs

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ public enum ReadyToRunInstructionSet
5757
Sve=43,
5858
Avx10v1=44,
5959
EVEX=45,
60+
Avx10v1_V512=46,
6061

6162
}
6263
}

src/coreclr/tools/Common/Internal/Runtime/ReadyToRunInstructionSetHelper.cs

+4
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ public static class ReadyToRunInstructionSetHelper
122122
case InstructionSet.X64_AVX512VBMI_VL_X64: return ReadyToRunInstructionSet.Avx512Vbmi_VL;
123123
case InstructionSet.X64_AVX10v1: return ReadyToRunInstructionSet.Avx10v1;
124124
case InstructionSet.X64_AVX10v1_X64: return ReadyToRunInstructionSet.Avx10v1;
125+
case InstructionSet.X64_AVX10v1_V512: return ReadyToRunInstructionSet.Avx10v1_V512;
126+
case InstructionSet.X64_AVX10v1_V512_X64: return ReadyToRunInstructionSet.Avx10v1_V512;
125127
case InstructionSet.X64_VectorT128: return ReadyToRunInstructionSet.VectorT128;
126128
case InstructionSet.X64_VectorT256: return ReadyToRunInstructionSet.VectorT256;
127129
case InstructionSet.X64_VectorT512: return ReadyToRunInstructionSet.VectorT512;
@@ -199,6 +201,8 @@ public static class ReadyToRunInstructionSetHelper
199201
case InstructionSet.X86_AVX512VBMI_VL_X64: return null;
200202
case InstructionSet.X86_AVX10v1: return ReadyToRunInstructionSet.Avx10v1;
201203
case InstructionSet.X86_AVX10v1_X64: return null;
204+
case InstructionSet.X86_AVX10v1_V512: return ReadyToRunInstructionSet.Avx10v1_V512;
205+
case InstructionSet.X86_AVX10v1_V512_X64: return null;
202206
case InstructionSet.X86_VectorT128: return ReadyToRunInstructionSet.VectorT128;
203207
case InstructionSet.X86_VectorT256: return ReadyToRunInstructionSet.VectorT256;
204208
case InstructionSet.X86_VectorT512: return ReadyToRunInstructionSet.VectorT512;

0 commit comments

Comments
 (0)