https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89929
--- Comment #17 from Martin Liška <marxin at gcc dot gnu.org> --- > > @Martin: > > Thank you for the detailed answer. This could work for now. I have a few > questions about it: > > Wouldn't that create issues in the future if AMD decide to release avx512 > for their CPUs? No, that will only require to add target(arch=amd-name-with-avx512). > > In case we are using C style target annotation (and not function > multi-versioning), should we also use target(arch=skylake-avx512) instead of > target(avx512bw)? Yes. Let me discuss that with H.J. > > Also it seems that target("arch=foo") fails for my simple example with > target specific option mismatch error (but works in clang). > > If I change target to avx2 it compiles again. > > Cheers, > > Nick Let me investigate that.