Hi Hongtao, > On Thu, Jun 27, 2019 at 5:38 PM Rainer Orth <r...@cebitec.uni-bielefeld.de> > wrote: >> >> Hi Hongtao, >> >> > On Thu, Jun 27, 2019 at 5:02 PM Rainer Orth >> > <r...@cebitec.uni-bielefeld.de> wrote: >> >> >> >> Hi Hongtao, >> >> >> >> >> as usual, the new effective-target keyword needs documenting in >> >> >> sourcebuild.texi. >> >> > Like this? >> >> >> >> a couple of nits: first of all, your mailer seems to replace tabs by a >> >> single space. Please fix this or attach the patch instead. >> >> >> >> > 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. >> >> >> >> Please include the sections you're modifying, something like >> >> >> >> * doc/sourcebuild.texi (Effective-Target Keywords, Other >> >> hardware attributes): Document avx512vp2intersect. >> >> >> >> And please don't include the ChangeLog in the patch, but include it in >> >> the mail proper: it won't apply due to date and context changes anyway. >> >> Best review https://gcc.gnu.org/contribute.html where this is documented >> >> besides other points of patch submission. >> >> >> >> Besides, it's most likely useful to also review the GNU Coding >> >> Standards, too, not only for ChangeLog formatting. >> >> >> >> > 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. >> >> >> >> Use >> >> >> >> * lib/target-supports.exp >> >> (check_effective_target_avx512vp2intersect): New proc. >> >> >> >> > + * gcc.target/i386/avx512vp2intersect-2intersect-1b.c: Add >> >> > + dg-require-effective-target avx512vp2intersect. >> >> >> >> Better: >> >> >> >> * gcc.target/i386/avx512vp2intersect-2intersect-1b.c: Require >> >> avx512vp2intersect. >> >> >> >> but that's a matter of preference. >> >> >> >> > 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" } */ >> >> >> >> No need to quote avx512vp2intersect here and in the next test. >> >> >> >> Ok with those nits fixed. >> >> >> > Yes, thanks a lot. >> >> Thanks. >> >> Rainer >> >> >> >> -- >> >> ----------------------------------------------------------------------------- >> >> Rainer Orth, Center for Biotechnology, Bielefeld University >> > >> > Ok for trunk? >> >> ENOPATCH > Sorry, Here is the patch. >> >> -- >> ----------------------------------------------------------------------------- >> Rainer Orth, Center for Biotechnology, Bielefeld University > > > Changelog > > gcc/ > +2019-06-27 Hongtao Liu <hongtao....@intel.com> > + > + * doc/sourcebuild.texi (Effective-Target Keywords, Other > + hardware attributes): Document avx512vp2intersect. > + > > gcc/testsuite/ > +2019-06-27 Hongtao Liu <hongtao....@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. > +
unfortunately, the testcases are still not right. While with gas 2.32 they now come up as UNSUPPORTED, I've now tried a mainline bootstrap on i386-pc-solaris2.11 with gas from binutils master. Doing so, I get +FAIL: gcc.target/i386/avx512vp2intersect-2intersect-1b.c execution test +FAIL: gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c execution test for both 32 and 64-bit, and there are similar results on gcc-testresults for x86_64-pc-linux-gnu. Running one of the testcases under gdb shows Thread 2 received signal SIGILL, Illegal instruction. [Switching to Thread 1 (LWP 1)] 0x08050d89 in do_test () 1: x/i $pc => 0x8050d89 <do_test+25>: (bad) or with objdump 2.32: 8050d89: 62 f2 ff 48 68 (bad) Using objdump from binutils master shows 8050d89: 62 f2 ff 48 68 05 80 vp2intersectq 0x8050a80,%zmm0,%k0 Currently, the testcases only check for AVX512F (which the machine in question supports: Xeon Gold 6132), while they need to check for AVX512VP2INTERSECT to avoid this. The following patch does this; tested on i386-pc-solaris2.11 with gas 2.32.51 both 32 and 64-bit where the tests PASS. Ok for mainline? Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2019-08-06 Rainer Orth <r...@cebitec.uni-bielefeld.de> * gcc.target/i386/avx512vp2intersect-2intersect-1b.c (AVX512F): Remove. (AVX512VP2INTERSECT): Define. * gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c (AVX512F): Remove. (AVX512VP2INTERSECT): Define.
# HG changeset patch # Parent 3987f613becd5fbb934c0c764f799f8967605899 Fix gcc.target/i386/avx512vp2intersect-2intersect-1b.c etc. execution tests gcc/testsuite: * gcc.target/i386/avx512vp2intersect-2intersect-1b.c (AVX512F): Remove. (AVX512VP2INTERSECT): Define. * gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c (AVX512F): Remove. (AVX512VP2INTERSECT): Define. diff --git a/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c b/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c --- a/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c +++ b/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersect-1b.c @@ -2,7 +2,7 @@ /* { dg-options "-O2 -mavx512vp2intersect" } */ /* { dg-require-effective-target avx512vp2intersect } */ -#define AVX512F +#define AVX512VP2INTERSECT #include <x86intrin.h> #include "avx512f-helper.h" diff --git a/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c b/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c --- a/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c +++ b/gcc/testsuite/gcc.target/i386/avx512vp2intersect-2intersectvl-1b.c @@ -2,7 +2,7 @@ /* { dg-options "-O2 -mavx512vp2intersect -mavx512vl" } */ /* { dg-require-effective-target avx512vp2intersect } */ -#define AVX512F +#define AVX512VP2INTERSECT #include <x86intrin.h> #include "avx512f-helper.h"