]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/ChangeLog
Enable AVX-512 VPOPCNTD/VPOPCNTQ instructions.
[thirdparty/gcc.git] / gcc / ChangeLog
index 48782726272e6db62c4869efe519e63caebd3fe6..ba1dfa95c89c46e53fe4cf926272781b38fa6253 100644 (file)
@@ -1,3 +1,24 @@
+2017-01-10  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
+       OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
+       * config.gcc: Add avx512vpopcntdqintrin.h.
+       * config/i386/avx512vpopcntdqintrin.h: New.
+       * config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
+       * config/i386/i386-builtin-types.def: Add new types.
+       * config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
+       __builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
+       __builtin_ia32_vpopcountq_v8di_mask): New.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __AVX512VPOPCNTDQ__.
+       * config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
+       (PTA_AVX512VPOPCNTDQ): Define.
+       * config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
+       TARGET_AVX512VPOPCNTDQ_P): Define.
+       * config/i386/i386.opt: Add mavx512vpopcntdq.
+       * config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
+       * config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
+
 2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
 
        PR middle-end/77484