https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101696
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Martin Liška from comment #5)
> 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?
It is very difficult to add them to __builtin_cpu_is since there are no
such processors. However, add them to __builtin_cpu_supports is possible.