[PATCH] Fix PR 47408, add explicit -mno-vsx to Altivec tests

Michael Meissner meissner@linux.vnet.ibm.com
Fri Jan 21 20:56:00 GMT 2011


This patch adds an explicit -mno-vsx to the various Altivec tests that should
not be compiled with VSX instructions.   This shows up if you build the
compiler with the --with-cpu=power7 configuration option.

Are these ok to install?

2011-01-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/47408
	* gcc.target/powerpc/altivec-11.c: Add explicit -mno-vsx.
	* gcc.target/powerpc/altivec-14.c: Ditto.
	* gcc.target/powerpc/altivec-33.c: Ditto.
	* gcc.target/powerpc/altivec-types-1.c: Ditto.
	* gcc.target/powerpc/altivec-types-2.c: Ditto.
	* gcc.target/powerpc/altivec-types-3.c: Ditto.
	* gcc.target/powerpc/altivec-types-4.c: Ditto.
	* gcc.target/powerpc/ppc-vector-memcpy.c: Ditto.
	* gcc.target/powerpc/ppc-vector-memset.c: Ditto.
	* g++.dg/ext/altivec-15.C: Ditto.
	* g++.dg/ext/altivec-types-1.C: Ditto.
	* g++.dg/ext/altivec-types-2.C: Ditto.
	* g++.dg/ext/altivec-types-3.C: Ditto.
	* g++.dg/ext/altivec-types-4.C: Ditto.

Index: gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-types-2.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/altivec-types-2.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec" } */
+/* { dg-options "-maltivec -mno-vsx" } */
 
 /* These should get warnings for 32-bit code.  */
 
Index: gcc/testsuite/gcc.target/powerpc/altivec-14.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-14.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/altivec-14.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec" } */
+/* { dg-options "-maltivec -mno-vsx" } */
 
 #include <altivec.h>
 
Index: gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-types-3.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/altivec-types-3.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target lp64 } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec" } */
+/* { dg-options "-maltivec -mno-vsx" } */
 
 /* These should be rejected for 64-bit code.  */
 
Index: gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-types-4.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/altivec-types-4.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -mno-warn-altivec-long" } */
+/* { dg-options "-maltivec -mno-warn-altivec-long -mno-vsx" } */
 
 /* These should not get warnings for 32-bit code when the warning is
    disabled.  */
Index: gcc/testsuite/gcc.target/powerpc/altivec-33.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-33.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/altivec-33.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-O2 -maltivec" } */
+/* { dg-options "-O2 -maltivec -mno-vsx" } */
 
 /* We should only produce one vspltw as we already splatted the value.  */
 /* { dg-final { scan-assembler-times "vspltw" 1 } } */
Index: gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-O -maltivec" } */
+/* { dg-options "-O -maltivec -mno-vsx" } */
 /* { dg-final { scan-assembler "lvx" } } */
 
 void foo(void)
Index: gcc/testsuite/gcc.target/powerpc/altivec-11.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-11.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/altivec-11.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-O2 -maltivec -mabi=altivec" } */
+/* { dg-options "-O2 -maltivec -mno-vsx -mabi=altivec" } */
 /* { dg-final { scan-assembler-not "lvx" } } */
 #include <altivec.h>
 
Index: gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-O -maltivec" } */
+/* { dg-options "-O -maltivec -mno-vsx" } */
 /* { dg-final { scan-assembler "stvx" } } */
 
 #include <string.h>
Index: gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-types-1.c	(revision 169068)
+++ gcc/testsuite/gcc.target/powerpc/altivec-types-1.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec" } */
+/* { dg-options "-maltivec -mno-vsx" } */
 
 /* Valid AltiVec vector types should be accepted with no warnings.  */
 
Index: gcc/testsuite/g++.dg/ext/altivec-types-2.C
===================================================================
--- gcc/testsuite/g++.dg/ext/altivec-types-2.C	(revision 169068)
+++ gcc/testsuite/g++.dg/ext/altivec-types-2.C	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec" } */
+/* { dg-options "-maltivec -mno-vsx" } */
 
 /* These should get warnings for 32-bit code.  */
 
Index: gcc/testsuite/g++.dg/ext/altivec-types-3.C
===================================================================
--- gcc/testsuite/g++.dg/ext/altivec-types-3.C	(revision 169068)
+++ gcc/testsuite/g++.dg/ext/altivec-types-3.C	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
 /* { dg-require-effective-target lp64 } */
-/* { dg-options "-maltivec" } */
+/* { dg-options "-maltivec -mno-vsx" } */
 
 /* These should be rejected for 64-bit code.  */
 
Index: gcc/testsuite/g++.dg/ext/altivec-15.C
===================================================================
--- gcc/testsuite/g++.dg/ext/altivec-15.C	(revision 169068)
+++ gcc/testsuite/g++.dg/ext/altivec-15.C	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec" } */
+/* { dg-options "-maltivec -mno-vsx" } */
 
 /* This test was added for an internal compiler error.  The number and
    content of error messages is irrelevant.  */
Index: gcc/testsuite/g++.dg/ext/altivec-types-4.C
===================================================================
--- gcc/testsuite/g++.dg/ext/altivec-types-4.C	(revision 169068)
+++ gcc/testsuite/g++.dg/ext/altivec-types-4.C	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -mno-warn-altivec-long" } */
+/* { dg-options "-maltivec -mno-vsx -mno-warn-altivec-long" } */
 
 /* These should not get warnings for 32-bit code when the warning is
    disabled.  */
Index: gcc/testsuite/g++.dg/ext/altivec-types-1.C
===================================================================
--- gcc/testsuite/g++.dg/ext/altivec-types-1.C	(revision 169068)
+++ gcc/testsuite/g++.dg/ext/altivec-types-1.C	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-linux* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -std=c++98" } */
+/* { dg-options "-maltivec -mno-vsx -std=c++98" } */
 
 /* Valid AltiVec vector types should be accepted with no warnings.  */
 

-- 
Michael Meissner, IBM
5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA
meissner@linux.vnet.ibm.com	fax +1 (978) 399-6899



More information about the Gcc-patches mailing list