diff mbox

Simplify vector compare-not-select sequence

Message ID 1438614979.2838.43.camel@gnopaine
State New
Headers show

Commit Message

Bill Schmidt Aug. 3, 2015, 3:16 p.m. UTC
On Sun, 2015-08-02 at 12:18 +0200, Andreas Schwab wrote:
> Bill Schmidt <wschmidt@linux.vnet.ibm.com> writes:
> 
> > 	* gcc.target/powerpc/vec-cmp-sel.c: New test.
> 
> FAIL: gcc.target/powerpc/vec-cmp-sel.c (test for excess errors)
> Excess errors:
> /daten/gcc/gcc-20150801/gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c:14:1: error: use of 'long long' in AltiVec types is invalid without -mvsx
> /daten/gcc/gcc-20150801/gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c:15:3: error: use of 'long long' in AltiVec types is invalid without -mvsx
> /daten/gcc/gcc-20150801/gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c:16:3: error: use of 'long long' in AltiVec types is invalid without -mvsx
> /daten/gcc/gcc-20150801/gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c:17:3: error: use of 'long long' in AltiVec types is invalid without -mvsx
> /daten/gcc/gcc-20150801/gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c:17:29: error: incompatible types when initializing type '__vector unsigned long long' using type '__vector __bool long long'
> /daten/gcc/gcc-20150801/gcc/testsuite/gcc.target/powerpc/vec-cmp-sel.c:18:3: error: use of 'long long' in AltiVec types is invalid without -mvsx
> 
> Andreas.
> 

Hi Andreas,

Can you please verify that this patch works for you?

Thanks,
Bill

Comments

Andreas Schwab Aug. 3, 2015, 5:35 p.m. UTC | #1
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.
diff mbox

Patch

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" } } */