sourcebuild.texi (Effective-Target Keywords, [...]): Document avx512vp2intersect.
authorHongtao Liu <hongtao.liu@intel.com>
Mon, 1 Jul 2019 02:12:42 +0000 (02:12 +0000)
committerHongtao Liu <liuhongt@gcc.gnu.org>
Mon, 1 Jul 2019 02:12:42 +0000 (02:12 +0000)
gcc/

2019-07-01  Hongtao Liu  <hongtao.liu@intel.com>

* doc/sourcebuild.texi (Effective-Target Keywords, Other
hardware attributes): Document avx512vp2intersect.

gcc/testsuite/

2019-07-01  Hongtao Liu  <hongtao.liu@intel.com>

* lib/target-supports.exp
(check_effective_target_avx512vp2intersect): New proc.
* gcc.target/i386/avx512vp2intersect-2intersect-1b.c: Add
dg-require-effective-target avx512vp2intersect.
* gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c: Ditto.

From-SVN: r272840

gcc/ChangeLog
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c
gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c
gcc/testsuite/lib/target-supports.exp

index e41c135..c559b3e 100644 (file)
@@ -1,3 +1,8 @@
+2019-07-01  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * doc/sourcebuild.texi (Effective-Target Keywords, Other
+       hardware attributes): Document avx512vp2intersect.
+
 2019-06-30  Uroš Bizjak  <ubizjak@gmail.com>
 
        * config/i386/sse.md (ssse3_abs<mode>2): Rename from abs<mode>2.
index 85efadb..6a66515 100644 (file)
@@ -2046,6 +2046,9 @@ Target supports compiling @code{avx512f} instructions.
 @item avx512f_runtime
 Target supports the execution of @code{avx512f} instructions.
 
+@item avx512vp2intersect
+Target supports the execution of @code{avx512vp2intersect} instructions.
+
 @item cell_hw
 Test system can execute AltiVec and Cell PPU instructions.
 
index c6500c7..72b1e62 100644 (file)
@@ -1,3 +1,11 @@
+2019-07-01  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_avx512vp2intersect): New proc.
+       * gcc.target/i386/avx512vp2intersect-2intersect-1b.c: Add
+       dg-require-effective-target avx512vp2intersect.
+       * gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c: Ditto.
+
 2019-06-29  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gnat.dg/specs/array5.ads: New test.
index 5d718d3..dce8705 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -mavx512vp2intersect" } */
+/* { dg-require-effective-target avx512vp2intersect } */
 
 #define AVX512F
 #include <x86intrin.h>
index ee3d237..3801ff5 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2 -mavx512vp2intersect -mavx512vl" } */
+/* { dg-require-effective-target avx512vp2intersect } */
 
 #define AVX512F
 #include <x86intrin.h>
index 285c32f..815e837 100644 (file)
@@ -7968,6 +7968,20 @@ proc check_effective_target_avx512bw { } {
     } "-mavx512bw" ]
 }
 
+# Return 1 if avx512vp2intersect instructions can be compiled.
+proc check_effective_target_avx512vp2intersect { } {
+    return [check_no_compiler_messages avx512vp2intersect object {
+       typedef int __v16si __attribute__ ((__vector_size__ (64)));
+       typedef short __mmask16;
+       void
+       _mm512_2intersect_epi32 (__v16si __A, __v16si __B, __mmask16 *__U,
+                                __mmask16 *__M)
+       {
+           __builtin_ia32_2intersectd512 (__U, __M, (__v16si) __A, (__v16si) __B);
+       }
+    } "-mavx512vp2intersect" ]
+}
+
 # Return 1 if avx512ifma instructions can be compiled.
 proc check_effective_target_avx512ifma { } {
     return [check_no_compiler_messages avx512ifma object {