@@ -179,10 +179,16 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins
179
179
#ifdef TARGET_ARM64
180
180
if (resultflags.HasInstructionSet (InstructionSet_ArmBase) && !resultflags.HasInstructionSet (InstructionSet_ArmBase_Arm64))
181
181
resultflags.RemoveInstructionSet (InstructionSet_ArmBase);
182
+ if (resultflags.HasInstructionSet (InstructionSet_ArmBase_Arm64) && !resultflags.HasInstructionSet (InstructionSet_ArmBase))
183
+ resultflags.RemoveInstructionSet (InstructionSet_ArmBase_Arm64);
182
184
if (resultflags.HasInstructionSet (InstructionSet_AdvSimd) && !resultflags.HasInstructionSet (InstructionSet_AdvSimd_Arm64))
183
185
resultflags.RemoveInstructionSet (InstructionSet_AdvSimd);
186
+ if (resultflags.HasInstructionSet (InstructionSet_AdvSimd_Arm64) && !resultflags.HasInstructionSet (InstructionSet_AdvSimd))
187
+ resultflags.RemoveInstructionSet (InstructionSet_AdvSimd_Arm64);
184
188
if (resultflags.HasInstructionSet (InstructionSet_Crc32) && !resultflags.HasInstructionSet (InstructionSet_Crc32_Arm64))
185
189
resultflags.RemoveInstructionSet (InstructionSet_Crc32);
190
+ if (resultflags.HasInstructionSet (InstructionSet_Crc32_Arm64) && !resultflags.HasInstructionSet (InstructionSet_Crc32))
191
+ resultflags.RemoveInstructionSet (InstructionSet_Crc32_Arm64);
186
192
if (resultflags.HasInstructionSet (InstructionSet_AdvSimd) && !resultflags.HasInstructionSet (InstructionSet_ArmBase))
187
193
resultflags.RemoveInstructionSet (InstructionSet_AdvSimd);
188
194
if (resultflags.HasInstructionSet (InstructionSet_Aes) && !resultflags.HasInstructionSet (InstructionSet_ArmBase))
@@ -197,20 +203,36 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins
197
203
#ifdef TARGET_AMD64
198
204
if (resultflags.HasInstructionSet (InstructionSet_SSE) && !resultflags.HasInstructionSet (InstructionSet_SSE_X64))
199
205
resultflags.RemoveInstructionSet (InstructionSet_SSE);
206
+ if (resultflags.HasInstructionSet (InstructionSet_SSE_X64) && !resultflags.HasInstructionSet (InstructionSet_SSE))
207
+ resultflags.RemoveInstructionSet (InstructionSet_SSE_X64);
200
208
if (resultflags.HasInstructionSet (InstructionSet_SSE2) && !resultflags.HasInstructionSet (InstructionSet_SSE2_X64))
201
209
resultflags.RemoveInstructionSet (InstructionSet_SSE2);
210
+ if (resultflags.HasInstructionSet (InstructionSet_SSE2_X64) && !resultflags.HasInstructionSet (InstructionSet_SSE2))
211
+ resultflags.RemoveInstructionSet (InstructionSet_SSE2_X64);
202
212
if (resultflags.HasInstructionSet (InstructionSet_SSE41) && !resultflags.HasInstructionSet (InstructionSet_SSE41_X64))
203
213
resultflags.RemoveInstructionSet (InstructionSet_SSE41);
214
+ if (resultflags.HasInstructionSet (InstructionSet_SSE41_X64) && !resultflags.HasInstructionSet (InstructionSet_SSE41))
215
+ resultflags.RemoveInstructionSet (InstructionSet_SSE41_X64);
204
216
if (resultflags.HasInstructionSet (InstructionSet_SSE42) && !resultflags.HasInstructionSet (InstructionSet_SSE42_X64))
205
217
resultflags.RemoveInstructionSet (InstructionSet_SSE42);
218
+ if (resultflags.HasInstructionSet (InstructionSet_SSE42_X64) && !resultflags.HasInstructionSet (InstructionSet_SSE42))
219
+ resultflags.RemoveInstructionSet (InstructionSet_SSE42_X64);
206
220
if (resultflags.HasInstructionSet (InstructionSet_BMI1) && !resultflags.HasInstructionSet (InstructionSet_BMI1_X64))
207
221
resultflags.RemoveInstructionSet (InstructionSet_BMI1);
222
+ if (resultflags.HasInstructionSet (InstructionSet_BMI1_X64) && !resultflags.HasInstructionSet (InstructionSet_BMI1))
223
+ resultflags.RemoveInstructionSet (InstructionSet_BMI1_X64);
208
224
if (resultflags.HasInstructionSet (InstructionSet_BMI2) && !resultflags.HasInstructionSet (InstructionSet_BMI2_X64))
209
225
resultflags.RemoveInstructionSet (InstructionSet_BMI2);
226
+ if (resultflags.HasInstructionSet (InstructionSet_BMI2_X64) && !resultflags.HasInstructionSet (InstructionSet_BMI2))
227
+ resultflags.RemoveInstructionSet (InstructionSet_BMI2_X64);
210
228
if (resultflags.HasInstructionSet (InstructionSet_LZCNT) && !resultflags.HasInstructionSet (InstructionSet_LZCNT_X64))
211
229
resultflags.RemoveInstructionSet (InstructionSet_LZCNT);
230
+ if (resultflags.HasInstructionSet (InstructionSet_LZCNT_X64) && !resultflags.HasInstructionSet (InstructionSet_LZCNT))
231
+ resultflags.RemoveInstructionSet (InstructionSet_LZCNT_X64);
212
232
if (resultflags.HasInstructionSet (InstructionSet_POPCNT) && !resultflags.HasInstructionSet (InstructionSet_POPCNT_X64))
213
233
resultflags.RemoveInstructionSet (InstructionSet_POPCNT);
234
+ if (resultflags.HasInstructionSet (InstructionSet_POPCNT_X64) && !resultflags.HasInstructionSet (InstructionSet_POPCNT))
235
+ resultflags.RemoveInstructionSet (InstructionSet_POPCNT_X64);
214
236
if (resultflags.HasInstructionSet (InstructionSet_SSE2) && !resultflags.HasInstructionSet (InstructionSet_SSE))
215
237
resultflags.RemoveInstructionSet (InstructionSet_SSE2);
216
238
if (resultflags.HasInstructionSet (InstructionSet_SSE3) && !resultflags.HasInstructionSet (InstructionSet_SSE2))
0 commit comments