https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78464
Bug ID: 78464
Summary: Feature request: automatic function multi versioning
Product: gcc
Version: 6.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: bo.langgaard.lind at gmail dot com
Target Milestone: ---
Function Multi Versioning currently requires an attribute manually added to
each function that one wants to be multi versioned. Something like:
__attribute__((target_clones("avx2","default")))
If not doing FMV, but just letting the compiler optimize with, say, AVX2, the
compiler automatically finds candidates for optimization and does so.
How about an option that lets the compiler automatically create target clones
of functions that would benefit from it? In plain English: "If the user has
specified "default" and "avx2" as function targets; if a function is found
which could benefit from AVX2 instructions, make two versions of this."