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.

Reply via email to