The reasoning for this is that at this point, in all the scenarios we currently support, enabling one avx512 implies enabling all of them, in an all or nothing fashion. The same applies to the avx512vbmi ones. Consequently, having separate flags for each ISA is becoming redundant and harder to maintain. Unifying them into just avx512 and avx512vbmi would simplify this logic and make it easier to work with these components, while at the same time making them less prone to bugs like the one in #106450.
While working on issue #106450, a discussion about unifying the
avx512*
flags (the ones that indicate with AVX-512 ISA's are enabled) came to light. Source: https://github.com/dotnet/runtime/issues/106450#issuecomment-2299504035The reasoning for this is that at this point, in all the scenarios we currently support, enabling one
avx512
implies enabling all of them, in an all or nothing fashion. The same applies to theavx512vbmi
ones. Consequently, having separate flags for each ISA is becoming redundant and harder to maintain. Unifying them into justavx512
andavx512vbmi
would simplify this logic and make it easier to work with these components, while at the same time making them less prone to bugs like the one in #106450.cc: @tannergooding