On Fri, Aug 8, 2014 at 2:31 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote:
> This patch introduces `-mavx512bw' compiler switch. > Bootstrapped. > > gcc/ > * common/config/i386/i386-common.c > (OPTION_MASK_ISA_AVX512BW_SET) : Define. > (OPTION_MASK_ISA_AVX512BW_UNSET): Ditto. > (OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto. > (ix86_handle_option): Handle OPT_mavx512bw. > * config/i386/cpuid.h (bit_AVX512BW): Define. > * config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw, > set -mavx512bw accordingly. > * config/i386/i386-c.c (ix86_target_macros_internal): Handle > OPTION_MASK_ISA_AVX512BW. > * config/i386/i386.c (ix86_target_string): Handle -mavx512bw. > (ix86_option_override_internal): Define PTA_AVX512BW, handle > PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW. > (ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw. > * config/i386/i386.h (TARGET_AVX512BW): Define. > (TARGET_AVX512BW_P(x)): Ditto. > * config/i386/i386.opt: Add mavx512bw. > > Is it ok for trunk? OK with a small change below. Thanks, Uros. > diff --git a/gcc/common/config/i386/i386-common.c > b/gcc/common/config/i386/i386-common.c > index 3db1535..a2e94d5 100644 > --- a/gcc/common/config/i386/i386-common.c > +++ b/gcc/common/config/i386/i386-common.c > @@ -67,6 +67,8 @@ along with GCC; see the file COPYING3. If not see > (OPTION_MASK_ISA_AVX512ER | OPTION_MASK_ISA_AVX512F_SET) > #define OPTION_MASK_ISA_AVX512DQ_SET \ > (OPTION_MASK_ISA_AVX512DQ | OPTION_MASK_ISA_AVX512F_SET) > +#define OPTION_MASK_ISA_AVX512BW_SET \ > + (OPTION_MASK_ISA_AVX512BW | OPTION_MASK_ISA_AVX512F_SET) > #define OPTION_MASK_ISA_RTM_SET OPTION_MASK_ISA_RTM > #define OPTION_MASK_ISA_PRFCHW_SET OPTION_MASK_ISA_PRFCHW > #define OPTION_MASK_ISA_RDSEED_SET OPTION_MASK_ISA_RDSEED > @@ -159,6 +161,8 @@ along with GCC; see the file COPYING3. If not see > #define OPTION_MASK_ISA_AVX512PF_UNSET OPTION_MASK_ISA_AVX512PF > #define OPTION_MASK_ISA_AVX512ER_UNSET OPTION_MASK_ISA_AVX512ER > #define OPTION_MASK_ISA_AVX512DQ_UNSET OPTION_MASK_ISA_AVX512DQ > +#define OPTION_MASK_ISA_AVX512BW_UNSET OPTION_MASK_ISA_AVX512BW > +#define OPTION_MASK_ISA_AVX512VL_UNSET OPTION_MASK_ISA_AVX512VL The line above belongs to 3/n pach.