@@ -561,20 +561,28 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins
561
561
resultflags.RemoveInstructionSet (InstructionSet_SSE42);
562
562
if (resultflags.HasInstructionSet (InstructionSet_POPCNT) && !resultflags.HasInstructionSet (InstructionSet_SSE42))
563
563
resultflags.RemoveInstructionSet (InstructionSet_POPCNT);
564
- if (resultflags.HasInstructionSet (InstructionSet_AVX) && !resultflags.HasInstructionSet (InstructionSet_SSE42 ))
564
+ if (resultflags.HasInstructionSet (InstructionSet_AVX) && !resultflags.HasInstructionSet (InstructionSet_POPCNT ))
565
565
resultflags.RemoveInstructionSet (InstructionSet_AVX);
566
- if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_AVX))
567
- resultflags.RemoveInstructionSet (InstructionSet_AVX2);
568
- if (resultflags.HasInstructionSet (InstructionSet_BMI1) && !resultflags.HasInstructionSet (InstructionSet_AVX2))
566
+ if (resultflags.HasInstructionSet (InstructionSet_LZCNT) && !resultflags.HasInstructionSet (InstructionSet_POPCNT))
567
+ resultflags.RemoveInstructionSet (InstructionSet_LZCNT);
568
+ if (resultflags.HasInstructionSet (InstructionSet_MOVBE) && !resultflags.HasInstructionSet (InstructionSet_POPCNT))
569
+ resultflags.RemoveInstructionSet (InstructionSet_MOVBE);
570
+ if (resultflags.HasInstructionSet (InstructionSet_BMI1) && !resultflags.HasInstructionSet (InstructionSet_AVX))
569
571
resultflags.RemoveInstructionSet (InstructionSet_BMI1);
570
- if (resultflags.HasInstructionSet (InstructionSet_BMI2) && !resultflags.HasInstructionSet (InstructionSet_AVX2 ))
572
+ if (resultflags.HasInstructionSet (InstructionSet_BMI2) && !resultflags.HasInstructionSet (InstructionSet_AVX ))
571
573
resultflags.RemoveInstructionSet (InstructionSet_BMI2);
572
- if (resultflags.HasInstructionSet (InstructionSet_FMA) && !resultflags.HasInstructionSet (InstructionSet_AVX2 ))
574
+ if (resultflags.HasInstructionSet (InstructionSet_FMA) && !resultflags.HasInstructionSet (InstructionSet_AVX ))
573
575
resultflags.RemoveInstructionSet (InstructionSet_FMA);
574
- if (resultflags.HasInstructionSet (InstructionSet_LZCNT) && !resultflags.HasInstructionSet (InstructionSet_SSE42))
575
- resultflags.RemoveInstructionSet (InstructionSet_LZCNT);
576
- if (resultflags.HasInstructionSet (InstructionSet_MOVBE) && !resultflags.HasInstructionSet (InstructionSet_SSE42))
577
- resultflags.RemoveInstructionSet (InstructionSet_MOVBE);
576
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_LZCNT))
577
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
578
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_MOVBE))
579
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
580
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_BMI1))
581
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
582
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_BMI2))
583
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
584
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_FMA))
585
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
578
586
if (resultflags.HasInstructionSet (InstructionSet_AVX512) && !resultflags.HasInstructionSet (InstructionSet_AVX2))
579
587
resultflags.RemoveInstructionSet (InstructionSet_AVX512);
580
588
if (resultflags.HasInstructionSet (InstructionSet_AVX512) && !resultflags.HasInstructionSet (InstructionSet_BMI1))
@@ -661,20 +669,28 @@ inline CORINFO_InstructionSetFlags EnsureInstructionSetFlagsAreValid(CORINFO_Ins
661
669
resultflags.RemoveInstructionSet (InstructionSet_SSE42);
662
670
if (resultflags.HasInstructionSet (InstructionSet_POPCNT) && !resultflags.HasInstructionSet (InstructionSet_SSE42))
663
671
resultflags.RemoveInstructionSet (InstructionSet_POPCNT);
664
- if (resultflags.HasInstructionSet (InstructionSet_AVX) && !resultflags.HasInstructionSet (InstructionSet_SSE42 ))
672
+ if (resultflags.HasInstructionSet (InstructionSet_AVX) && !resultflags.HasInstructionSet (InstructionSet_POPCNT ))
665
673
resultflags.RemoveInstructionSet (InstructionSet_AVX);
666
- if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_AVX))
667
- resultflags.RemoveInstructionSet (InstructionSet_AVX2);
668
- if (resultflags.HasInstructionSet (InstructionSet_BMI1) && !resultflags.HasInstructionSet (InstructionSet_AVX2))
674
+ if (resultflags.HasInstructionSet (InstructionSet_LZCNT) && !resultflags.HasInstructionSet (InstructionSet_POPCNT))
675
+ resultflags.RemoveInstructionSet (InstructionSet_LZCNT);
676
+ if (resultflags.HasInstructionSet (InstructionSet_MOVBE) && !resultflags.HasInstructionSet (InstructionSet_POPCNT))
677
+ resultflags.RemoveInstructionSet (InstructionSet_MOVBE);
678
+ if (resultflags.HasInstructionSet (InstructionSet_BMI1) && !resultflags.HasInstructionSet (InstructionSet_AVX))
669
679
resultflags.RemoveInstructionSet (InstructionSet_BMI1);
670
- if (resultflags.HasInstructionSet (InstructionSet_BMI2) && !resultflags.HasInstructionSet (InstructionSet_AVX2 ))
680
+ if (resultflags.HasInstructionSet (InstructionSet_BMI2) && !resultflags.HasInstructionSet (InstructionSet_AVX ))
671
681
resultflags.RemoveInstructionSet (InstructionSet_BMI2);
672
- if (resultflags.HasInstructionSet (InstructionSet_FMA) && !resultflags.HasInstructionSet (InstructionSet_AVX2 ))
682
+ if (resultflags.HasInstructionSet (InstructionSet_FMA) && !resultflags.HasInstructionSet (InstructionSet_AVX ))
673
683
resultflags.RemoveInstructionSet (InstructionSet_FMA);
674
- if (resultflags.HasInstructionSet (InstructionSet_LZCNT) && !resultflags.HasInstructionSet (InstructionSet_SSE42))
675
- resultflags.RemoveInstructionSet (InstructionSet_LZCNT);
676
- if (resultflags.HasInstructionSet (InstructionSet_MOVBE) && !resultflags.HasInstructionSet (InstructionSet_SSE42))
677
- resultflags.RemoveInstructionSet (InstructionSet_MOVBE);
684
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_LZCNT))
685
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
686
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_MOVBE))
687
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
688
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_BMI1))
689
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
690
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_BMI2))
691
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
692
+ if (resultflags.HasInstructionSet (InstructionSet_AVX2) && !resultflags.HasInstructionSet (InstructionSet_FMA))
693
+ resultflags.RemoveInstructionSet (InstructionSet_AVX2);
678
694
if (resultflags.HasInstructionSet (InstructionSet_AVX512) && !resultflags.HasInstructionSet (InstructionSet_AVX2))
679
695
resultflags.RemoveInstructionSet (InstructionSet_AVX512);
680
696
if (resultflags.HasInstructionSet (InstructionSet_AVX512) && !resultflags.HasInstructionSet (InstructionSet_BMI1))
0 commit comments