dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.03k stars 4.68k forks source link

Unify All `AVX512*` Flags and All `AVX512VBMI*` Flags in Crossgen2 and ILC #107573

Open ivdiazsa opened 2 weeks ago

ivdiazsa commented 2 weeks ago

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-2299504035

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.

cc: @tannergooding

dotnet-policy-service[bot] commented 2 weeks ago

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas See info in area-owners.md if you want to be subscribed.