https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113149
Bug ID: 113149 Summary: Function multiversioning prefers arch=x86-64-v3 to actual processors Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ed at catmur dot uk Target Milestone: --- Since #101696, we can write __attribute__ ((target ("arch=x86-64-v3"))) char const* f() { return "x86-64-v3"; } But x86-64-v3 is preferred to any of the processors that support this feature set, which seems backwards - even Haswell supports pclmul and rdrnd, which aren't in x86-64-v3. It feels that it should be OK to swap the ordering of P_PROC_AVX2 with P_X86_64_V3, and P_PROC_AVX512F with P_X86_64_V4, in enum feature_priority.