https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101696
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |NEW
CC| |hjl.tools at gmail dot com
Assignee|marxin at gcc dot gnu.org |unassigned at gcc dot
gnu.org
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Right now, the x86-64* are defined as aliases to k8:
{"x86-64", PROCESSOR_K8, CPU_K8, PTA_X86_64_BASELINE, 0, P_NONE},
{"x86-64-v2", PROCESSOR_K8, CPU_GENERIC, PTA_X86_64_V2 | PTA_NO_TUNE,
0, P_NONE},
{"x86-64-v3", PROCESSOR_K8, CPU_GENERIC, PTA_X86_64_V3 | PTA_NO_TUNE,
0, P_NONE},
{"x86-64-v4", PROCESSOR_K8, CPU_GENERIC, PTA_X86_64_V4 | PTA_NO_TUNE,
0, P_NONE},
and it has the corresponding pta info:
(gdb) p *arch_info
$10 = {
name = 0x1f96cdc "x86-64",
processor = PROCESSOR_K8,
schedule = CPU_K8,
flags = {
low = 0,
high = 137445326852
},
model = 0,
priority = P_NONE
}
thus we end up with:
pr101696.c:16:5: error: no dispatcher found for the versioning attributes
16 | int foo ()
| ^~~
So first step that needs to be done is adding support for the march names in:
__builtin_cpu_is.
@H.J. Can you please add that?