AVX-512.
authorKirill Yukhin <kirill.yukhin@intel.com>
Fri, 2 Oct 2015 15:25:26 +0000 (15:25 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Fri, 2 Oct 2015 15:25:26 +0000 (15:25 +0000)
AVX-512. Add missing features to cpuinfo.c
gcc/
* config/i386/i386.c (processor_features): Add F_AVX512VBMI,
F_AVX512IFMA.
(isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
libgcc/
* config/i386/cpuinfo.c (processor_features): Add
FEATURE_AVX512VBMI and FEATURE_AVX512VBMI.
testsuite/
* gcc.target/i386/builtin_target.c: Handle "avx512ifma"
and "avx512vbmi".

From-SVN: r228399

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/builtin_target.c
libgcc/ChangeLog
libgcc/config/i386/cpuinfo.c

index 0f6875c87a2b1bbf33e501a983fde1edf9cf8394..493a4a8b47a420e2a87aca381f260d4c98ece713 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-02  Kirill Yukhin  <kirill.yukhin@intel.com>
+       * config/i386/i386.c (processor_features): Add F_AVX512VBMI,
+       F_AVX512IFMA.
+       (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
+
 2015-10-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
        * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
index 1ccc33e525c51e370fd47e8aba0655a0931f42aa..171917536a0ab7d28d68e2f032f309012fa2326d 100644 (file)
@@ -36591,6 +36591,8 @@ fold_builtin_cpu (tree fndecl, tree *args)
     F_AVX512CD,
     F_AVX512ER,
     F_AVX512PF,
+    F_AVX512VBMI,
+    F_AVX512IFMA,
     F_MAX
   };
 
@@ -36699,6 +36701,8 @@ fold_builtin_cpu (tree fndecl, tree *args)
       {"avx512cd",F_AVX512CD},
       {"avx512er",F_AVX512ER},
       {"avx512pf",F_AVX512PF},
+      {"avx512vbmi",F_AVX512VBMI},
+      {"avx512ifma",F_AVX512IFMA},
     };
 
   tree __processor_model_type = build_processor_model_struct ();
index bceeaaa8b313433b66f2f854917e047543e99e2e..943227a8df889b042540a1ce324948d0cf0c64df 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-02  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+       * gcc.target/i386/builtin_target.c: Handle "avx512ifma"
+       and "avx512vbmi".
+
 2015-10-02  Vladimir Makarov  <vmakarov@redhat.com>
 
        PR rtl-optimization/67756
index aff4559845c74675c7de85e72b3756653288b4d0..a9a8753ce04079bfda5bd428fd130ead4a98cac2 100644 (file)
@@ -200,6 +200,10 @@ check_features (unsigned int ecx, unsigned int edx,
        assert (__builtin_cpu_supports ("avx512bw"));
       if (ebx & bit_AVX512DQ)
        assert (__builtin_cpu_supports ("avx512dq"));
+      if (ebx & bit_AVX512IFMA)
+       assert (__builtin_cpu_supports ("avx512ifma"));
+      if (ebx & bit_AVX512VBMI)
+       assert (__builtin_cpu_supports ("avx512vbmi"));
     }
 }
 
index a2d39c07dfaef550f4cfd8f87a7d33a6bcceafdc..e534c6db959da1759f27cf28d6a275132349331e 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-02  Kirill Yukhin  <kirill.yukhin@intel.com>
+
+        * config/i386/cpuinfo.c (processor_features): Add
+       FEATURE_AVX512VBMI and FEATURE_AVX512VBMI.
+
 2015-09-28  Joseph Myers  <joseph@codesourcery.com>
 
        * soft-fp/adddf3.c: Update from glibc.
index ddb49e3ad9a00358c48753113e199fbbdf8b7351..40ed84cf6cbcb36e6f067c4ede5f7a9d3ff81be6 100644 (file)
@@ -110,7 +110,9 @@ enum processor_features
   FEATURE_AVX512DQ,
   FEATURE_AVX512CD,
   FEATURE_AVX512ER,
-  FEATURE_AVX512PF
+  FEATURE_AVX512PF,
+  FEATURE_AVX512VBMI,
+  FEATURE_AVX512IFMA
 };
 
 struct __processor_model
@@ -336,6 +338,10 @@ get_available_features (unsigned int ecx, unsigned int edx,
        features |= (1 << FEATURE_AVX512PF);
       if (ebx & bit_AVX512ER)
        features |= (1 << FEATURE_AVX512ER);
+      if (ebx & bit_AVX512IFMA)
+       features |= (1 << FEATURE_AVX512IFMA);
+      if (ecx & bit_AVX512VBMI)
+       features |= (1 << FEATURE_AVX512VBMI);
     }
 
   unsigned int ext_level;