This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Simplify vector compare-not-select sequence
- From: Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: gcc-patches at gcc dot gnu dot org, ebotcazou at adacore dot com, dje dot gcc at gmail dot com
- Date: Tue, 04 Aug 2015 09:12:05 -0500
- Subject: Re: [PATCH] Simplify vector compare-not-select sequence
- Authentication-results: sourceware.org; auth=none
- References: <1436190062 dot 4922 dot 5 dot camel at oc8801110288 dot ibm dot com> <87d1z6f0yb dot fsf at igel dot home> <1438614979 dot 2838 dot 43 dot camel at gnopaine> <877fpctgvh dot fsf at igel dot home>
Thanks for verifying!
Also verified it still works on powerpc64le-unknown-linux-gnu.
Committed as obvious.
Thanks,
Bill
2015-08-04 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
* gcc.target/powerpc/vec-cmp-sel.c: Avoid test failure on machines
without VSX an Power8 vector support.
Index: gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c (revision 226505)
+++ gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c (working copy)
@@ -1,6 +1,7 @@
/* { dg-do compile { target powerpc64*-*-* } } */
/* { dg-require-effective-target powerpc_p8vector_ok } */
-/* { dg-options "-maltivec -O2" } */
+/* { dg-require-effective-target powerpc_vsx_ok } */
+/* { dg-options "-maltivec -O2 -mvsx -mpower8-vector" } */
/* { dg-final { scan-assembler "vcmpgtsd" } } */
/* { dg-final { scan-assembler-not "xxlnor" } } */
On Mon, 2015-08-03 at 19:35 +0200, Andreas Schwab wrote:
> Bill Schmidt <wschmidt@linux.vnet.ibm.com> writes:
>
> > Index: gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c
> > ===================================================================
> > --- gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c (revision 226505)
> > +++ gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c (working copy)
> > @@ -1,6 +1,7 @@
> > /* { dg-do compile { target powerpc64*-*-* } } */
>
> If you want -m64 you need dg-require-effective-target lp64, but I see no
> need for that.
>
> > /* { dg-require-effective-target powerpc_p8vector_ok } */
> > -/* { dg-options "-maltivec -O2" } */
> > +/* { dg-require-effective-target powerpc_vsx_ok } */
> > +/* { dg-options "-maltivec -O2 -mvsx -mpower8-vector" } */
> > /* { dg-final { scan-assembler "vcmpgtsd" } } */
> > /* { dg-final { scan-assembler-not "xxlnor" } } */
>
> Looks good.
>
> PASS: gcc.target/powerpc/vec-cmp-sel.c (test for excess errors)
> PASS: gcc.target/powerpc/vec-cmp-sel.c scan-assembler vcmpgtsd
> PASS: gcc.target/powerpc/vec-cmp-sel.c scan-assembler-not xxlnor
> PASS: gcc.target/powerpc/vec-cmp-sel.c (test for excess errors)
> PASS: gcc.target/powerpc/vec-cmp-sel.c scan-assembler vcmpgtsd
> PASS: gcc.target/powerpc/vec-cmp-sel.c scan-assembler-not xxlnor
>
> Andreas.
>