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?

Reply via email to