https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100009
Bug ID: 100009 Summary: -march=native doesn't recognize tigerlake Product: gcc Version: 9.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: cdotts at planetiq dot com Target Milestone: --- Copied from email chain: We're using GCC v9.3.0 on a newer laptop, as packaged by Ubuntu for 20.04 LTS. Our build for host-native tools naturally enables cpu-specific optimization with `-march=native`. The gcc driver is passing -march=tigerlake down to cc1 (or cc1plus). The driver program's auto-detection is correct in that this is tiger lake hardware. However, it is not supported in this release of GCC. How exactly is the driver coming up with this code name? I'd like to keep the Makefile set up as-is for the whole team. Can we override the definition of `native` through an environment variable or something? Ice lake client optimizations and instruction selection appear to be working for our usage. We can modify the Makefile to be sensitive to an environment variable, but I'm wondering if GCC itself can also be overridden in this way. Response from Jim Wilson: Looks like a bug in gcc-9. tigerlake was added to gcc/config/i386/driver-i386.c but not to the arch_names_table in i386.c. I would suggest filing a bug report. I don't think there is a way to workaround this. It needs to be fixed in the gcc source tree.