[PATCH] x86: Add -march=cascadelake

Wei Xiao wei.william.xiao@gmail.com
Thu Nov 22 07:08:00 GMT 2018


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 <jakub@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.xiao@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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cascadelake-v2.diff
Type: application/octet-stream
Size: 11710 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20181122/6c56b229/attachment.obj>


More information about the Gcc-patches mailing list