Jakub, Thanks for the comments! I have addressed them as attached.
Wei gcc/ * common/config/i386/i386-common.c (processor_names): Add cascadelake. (processor_alias_table): Add cascadelake. * config.gcc: Add -march=cascadelake. * config/i386/driver-i386.c (host_detect_local_cpu): Detect cascadelake. * config/i386/i386-c.c (ix86_target_macros_internal): Handle cascadelake. * config/i386/i386.c (ix86_cost): Add m_CASCADELAKE. (processor_cost_table): Add cascadelake. (get_builtin_code_for_version): Handle cascadelake. (fold_builtin_cpu): Ditto. * config/i386/i386.h (TARGET_CASCADELAKE, PROCESSOR_CASCADELAKE): New. (PTA_CASCADELAKE): Ditto. * doc/invoke.texi: Add -march=cascadelake. gcc/testsuite/ * g++.target/i386/mv16.C: Handle new march. * gcc.target/i386/funcspec-56.inc" Ditto. libgcc/ * config/i386/cpuinfo.h: Add INTEL_COREI7_CASCADELAKE. Jakub Jelinek <ja...@redhat.com> 于2018年11月21日周三 下午7:09写道: > > On Wed, Nov 21, 2018 at 06:23:41PM +0800, Wei Xiao wrote: > > The attached patch added -march=cascadelake for x86. > > Tested with bootstrap and regression tests on x86_64. No regressions. > > Is it ok for trunk? > > Not a real review, just nits: > > index bff4dfb..f7c1c98 100644 > --- a/gcc/ChangeLog > +++ b/gcc/ChangeLog > @@ -1,3 +1,18 @@ > +2018-11-21 Wei Xiao <wei3.x...@intel.com> > > Two spaces after date, two spaces before <. > > --- a/gcc/config/i386/driver-i386.c > +++ b/gcc/config/i386/driver-i386.c > @@ -857,6 +857,9 @@ const char *host_detect_local_cpu (int argc, const char > **argv) > /* Assume Ice Lake. */ > else if (has_gfni) > cpu = "icelake-client"; > + /* Assume Cascade Lake. */ > + if (has_avx512vnni) > + cpu = "cascadelake"; > /* Assume Cannon Lake. */ > else if (has_avx512vbmi) > cpu = "cannonlake"; > > Doesn't this break handling of all the other CPUs? I mean, it is a large > if (cond) ... else if (cond) ... else if (cond) ... else ... > but you've added if without else before it into the middle. > > Jakub
cascadelake-v2.diff
Description: Binary data