[clang] [X86] Emit Warnings for frontend options to enable knl/knm. (PR #75580)
Phoebe Wang via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 2 16:44:03 PST 2024
phoebewang wrote:
> I also think we need a policy regarding what test coverage we need for various avx512 features (when should we assume avx512vl etc.)
Considering the new evolution in AVX10, we should switch testing model from `avx512xxx ± avx512vl` to `avx512xxx + avx512vl ±
evex512`.
I also imagine we can turn any avx512 feature, e.g., `bool hasBWI() {return HasBWI;}` into `bool hasBWI() {return HasBWI & HasVLX;}`, then remove all `hasVLX` checks in the code, e.g., `Subtarget.hasVLX() && Subtarget.hasBWI()` to `Subtarget.hasBWI()`.
> I think if we have an approach that allows people to emulate a very basic KNL/KNM implementation with the equivalent of "-march=x86-64-v3 -mavx512f -mavx512cd" then that would be sufficient.
This will require compiler and tests continue to handle cases avx512f/avx512cd without avx512vl. It conflicts with my expectation for `hasVLX` clean up. But maybe we can preserve these handling for few features for a short period.
> We should keep asm handling for avx512er/avx512pf/etc but no need for attributes/intrinsics handling for them - if somebody needs to write assembly for them we shouldn't prevent it.
+1
https://github.com/llvm/llvm-project/pull/75580
More information about the cfe-commits
mailing list