This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch][x86] -march=icelake


On Tue, Jan 30, 2018 at 12:53 PM, Koval, Julia <julia.koval@intel.com> wrote:
> Thank you for your comments, fixed them and rebased Ice Lake patch on top of it. Ok for trunk?
>
> Bitmask patch changelog:
>
> gcc/c-family/
>         * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
>
> gcc/
>         * config/i386/i386.c (ix86_option_override_internal): Change flags type to
>         wide_int_bitmask.
>         * wide-int-bitmask.h: New.
>
> Icelake patch changelog:
>
> gcc/
>         * config.gcc: Add -march=icelake.
>         * config/i386/driver-i386.c (host_detect_local_cpu): Detect icelake.
>         * config/i386/i386-c.c (ix86_target_macros_internal): Handle icelake.
>         * config/i386/i386.c (processor_costs): Add m_ICELAKE.
>         (PTA_ICELAKE, PTA_AVX512VNNI, PTA_GFNI, PTA_VAES, PTA_AVX512VBMI2,
>         PTA_VPCLMULQDQ, PTA_RDPID, PTA_AVX512BITALG): New.
>         (processor_target_table): Add icelake.
>         (ix86_option_override_internal): Handle new PTAs.
>         (get_builtin_code_for_version): Handle icelake.
>         (M_INTEL_COREI7_ICELAKE): New.
>         (fold_builtin_cpu): Handle icelake.
>         * config/i386/i386.h (TARGET_ICELAKE, PROCESSOR_ICELAKE): New.
>         * doc/invoke.texi: Add -march=icelake.
> gcc/testsuite/
>         * gcc.target/i386/funcspec-56.inc: Handle new march.
>         * g++.dg/ext/mv16.C: Ditto.
> libgcc/
>         * config/i386/cpuinfo.h (processor_subtypes): Add INTEL_COREI7_ICELAKE.

x86 parts are OK, generic parts need approval from global maintainer.

Thanks,
Uros.

> Thanks,
> Julia
>
>> -----Original Message-----
>> From: Jakub Jelinek [mailto:jakub@redhat.com]
>> Sent: Tuesday, January 30, 2018 9:47 AM
>> To: Koval, Julia <julia.koval@intel.com>
>> Cc: Richard Biener <rguenther@suse.de>; Uros Bizjak <ubizjak@gmail.com>;
>> GCC Patches <gcc-patches@gcc.gnu.org>; Kirill Yukhin
>> <kirill.yukhin@gmail.com>
>> Subject: Re: [patch][x86] -march=icelake
>>
>> On Tue, Jan 30, 2018 at 08:35:38AM +0000, Koval, Julia wrote:
>> >     * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h
>>
>> Missing dot ad the end.
>>
>> +  wide_int_bitmask PTA_3DNOW (HOST_WIDE_INT_1U << 0);
>>
>> Can't all these be const wide_int_bitmask instead of just
>> wide_int_bitmask?
>>
>> ...
>> +
>> +  wide_int_bitmask PTA_CORE2 = PTA_64BIT | PTA_MMX | PTA_SSE |
>> PTA_SSE2
>> +    | PTA_SSE3 | PTA_SSSE3 | PTA_CX16 | PTA_FXSR;
>> +  wide_int_bitmask PTA_NEHALEM = PTA_CORE2 | PTA_SSE4_1 | PTA_SSE4_2
>> +    | PTA_POPCNT;
>> +  wide_int_bitmask PTA_WESTMERE = PTA_NEHALEM | PTA_AES |
>> PTA_PCLMUL;
>> +  wide_int_bitmask PTA_SANDYBRIDGE = PTA_WESTMERE | PTA_AVX |
>> PTA_XSAVE
>> +    | PTA_XSAVEOPT;
>> +  wide_int_bitmask PTA_IVYBRIDGE = PTA_SANDYBRIDGE | PTA_FSGSBASE |
>> PTA_RDRND
>> +    | PTA_F16C;
>> +  wide_int_bitmask PTA_HASWELL = PTA_IVYBRIDGE | PTA_AVX2 | PTA_BMI |
>> PTA_BMI2
>> +    | PTA_LZCNT | PTA_FMA | PTA_MOVBE | PTA_HLE;
>> +  wide_int_bitmask PTA_BROADWELL = PTA_HASWELL | PTA_ADX |
>> PTA_PRFCHW
>> +    | PTA_RDSEED;
>> +  wide_int_bitmask PTA_SKYLAKE = PTA_BROADWELL | PTA_CLFLUSHOPT |
>> PTA_XSAVEC
>> +    | PTA_XSAVES;
>> +  wide_int_bitmask PTA_SKYLAKE_AVX512 = PTA_SKYLAKE | PTA_AVX512F |
>> PTA_AVX512CD
>> +    | PTA_AVX512VL | PTA_AVX512BW | PTA_AVX512DQ | PTA_PKU |
>> PTA_CLWB;
>> +  wide_int_bitmask PTA_CANNONLAKE = PTA_SKYLAKE_AVX512 |
>> PTA_AVX512VBMI
>> +    | PTA_AVX512IFMA | PTA_SHA;
>> +  wide_int_bitmask PTA_KNL = PTA_BROADWELL | PTA_AVX512PF |
>> PTA_AVX512ER
>> +    | PTA_AVX512F | PTA_AVX512CD;
>> +  wide_int_bitmask PTA_BONNELL = PTA_CORE2 | PTA_MOVBE;
>> +  wide_int_bitmask PTA_SILVERMONT = PTA_WESTMERE | PTA_MOVBE |
>> PTA_RDRND;
>> +  wide_int_bitmask PTA_KNM = PTA_KNL | PTA_AVX5124VNNIW |
>> PTA_AVX5124FMAPS
>> +    | PTA_AVX512VPOPCNTDQ;
>>
>> Likewise for these.
>>
>> --- /dev/null
>> +++ b/gcc/wide-int-bitmask.h
>> @@ -0,0 +1,145 @@
>> +/* Operation with 128 bit bitmask.
>> +   Copyright (C) 1987-2018 Free Software Foundation, Inc.
>>
>> Please use 2013-2018 instead, all the omp_clause_mask stuff was
>> introduced in 2013.
>>
>> +
>> +#ifndef GCC_BIT_MASK_H
>> +#define GCC_BIT_MASK_H
>>
>> The macro hasn't been renamed for the header file rename.
>>
>> +
>> +#endif /* ! GCC_BIT_MASK_H */
>>
>> Here as well.  Otherwise LGTM.
>>
>>       Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]