https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89929
--- Comment #18 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Martin Liška from comment #17) > > > > @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)? For C style, the functionality will be preserved as is. > > 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. This looks to me a bug, I'll create a separated PR for that. Thanks > > > > Cheers, > > > > Nick > > Let me investigate that.