On Wed, Jun 26, 2019 at 6:14 PM Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > > Hi Hongtao, > > > Index: testsuite/lib/target-supports.exp > > =================================================================== > > --- testsuite/lib/target-supports.exp (revision 272667) > > +++ testsuite/lib/target-supports.exp (working copy) > > @@ -7963,6 +7963,20 @@ > > } "-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 { > > as usual, the new effective-target keyword needs documenting in > sourcebuild.texi. Like this?
Index: ChangeLog =================================================================== --- ChangeLog (revision 272668) +++ ChangeLog (working copy) @@ -1,3 +1,8 @@ +2019-06-27 Hongtao Liu <hongtao....@intel.com> + + * doc/sourcebuild.texi: Document new effective target keyword + avx512vp2intersect. + 2019-06-25 Hongtao Liu <hongtao....@intel.com> H.J. Lu <hongjiu...@intel.com> Olga Makhotina <olga.makhot...@intel.com> Index: doc/sourcebuild.texi =================================================================== --- doc/sourcebuild.texi (revision 272667) +++ doc/sourcebuild.texi (working copy) @@ -2046,6 +2046,9 @@ @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: testsuite/ChangeLog =================================================================== --- testsuite/ChangeLog (revision 272668) +++ testsuite/ChangeLog (working copy) @@ -1,3 +1,11 @@ +2019-06-27 Hongtao Liu <hongtao....@intel.com> + + * lib/target-supports.exp: Add + check_effective_target_avx512vp2intersect. + * gcc.target/i386/avx512vp2intersect-2intersect-1b.c: Add + dg-require-effective-target avx512vp2intersect. + * gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c: Ditto. + 2019-06-06 Hongtao Liu <hongtao....@intel.com> Olga Makhotina <olga.makhot...@intel.com> Index: testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c =================================================================== --- testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c (revision 272668) +++ testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mavx512vp2intersect" } */ +/* { dg-require-effective-target "avx512vp2intersect" } */ #define AVX512F #include <x86intrin.h> Index: testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c =================================================================== --- testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c (revision 272668) +++ testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -mavx512vp2intersect -mavx512vl" } */ +/* { dg-require-effective-target "avx512vp2intersect" } */ #define AVX512F #include <x86intrin.h> Index: testsuite/lib/target-supports.exp =================================================================== --- testsuite/lib/target-supports.exp (revision 272667) +++ testsuite/lib/target-supports.exp (working copy) @@ -7963,6 +7963,20 @@ } "-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 { > > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University -- BR, Hongtao