aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-11 20:11:40 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-11 20:11:40 +0000
commite647cc27201ba7a7c3aa1690e64b5bdd3b8fca6a (patch)
tree0ff0d65f563fee11d761d4089d0b46c3ac3615cb
parentaa028c0112b5644c08639eca26760873e97222a8 (diff)
* gcc/testsuite/lib/target-supports.expcsl/sourcerygxx/4.1-5
(check_effective_target_powerpc_fprs, check_effective_target_powerpc_altivec_ok): New. * gcc/testsuite/g++.dg/eh/simd-2.C, gcc/testsuite/g++.dg/ext/altivec-1.C, gcc/testsuite/g++.dg/ext/altivec-10.C, gcc/testsuite/g++.dg/ext/altivec-11.C, gcc/testsuite/g++.dg/ext/altivec-12.C, gcc/testsuite/g++.dg/ext/altivec-13.C, gcc/testsuite/g++.dg/ext/altivec-2.C, gcc/testsuite/g++.dg/ext/altivec-3.C, gcc/testsuite/g++.dg/ext/altivec-4.C, gcc/testsuite/g++.dg/ext/altivec-5.C, gcc/testsuite/g++.dg/ext/altivec-6.C, gcc/testsuite/g++.dg/ext/altivec-7.C, gcc/testsuite/g++.dg/ext/altivec-8.C, gcc/testsuite/g++.dg/ext/altivec-9.C, gcc/testsuite/g++.dg/ext/altivec-types-1.C, gcc/testsuite/g++.dg/ext/altivec-types-2.C, gcc/testsuite/g++.dg/ext/altivec-types-3.C, gcc/testsuite/g++.dg/ext/altivec-types-4.C, gcc/testsuite/gcc.dg/simd-3.c, gcc/testsuite/gcc.dg/vect/vect-82_64.c, gcc/testsuite/gcc.dg/vect/vect-83_64.c, gcc/testsuite/gcc.dg/vmx/vmx.exp, gcc/testsuite/gcc.target/powerpc/980827-1.c, gcc/testsuite/gcc.target/powerpc/altivec-1.c, gcc/testsuite/gcc.target/powerpc/altivec-10.c, gcc/testsuite/gcc.target/powerpc/altivec-11.c, gcc/testsuite/gcc.target/powerpc/altivec-12.c, gcc/testsuite/gcc.target/powerpc/altivec-13.c, gcc/testsuite/gcc.target/powerpc/altivec-14.c, gcc/testsuite/gcc.target/powerpc/altivec-15.c, gcc/testsuite/gcc.target/powerpc/altivec-16.c, gcc/testsuite/gcc.target/powerpc/altivec-17.c, gcc/testsuite/gcc.target/powerpc/altivec-18.c, gcc/testsuite/gcc.target/powerpc/altivec-19.c, gcc/testsuite/gcc.target/powerpc/altivec-2.c, gcc/testsuite/gcc.target/powerpc/altivec-21.c, gcc/testsuite/gcc.target/powerpc/altivec-22.c, gcc/testsuite/gcc.target/powerpc/altivec-3.c, gcc/testsuite/gcc.target/powerpc/altivec-4.c, gcc/testsuite/gcc.target/powerpc/altivec-5.c, gcc/testsuite/gcc.target/powerpc/altivec-6.c, gcc/testsuite/gcc.target/powerpc/altivec-7.c, gcc/testsuite/gcc.target/powerpc/altivec-8.c, gcc/testsuite/gcc.target/powerpc/altivec-9.c, gcc/testsuite/gcc.target/powerpc/altivec-consts.c, gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c, gcc/testsuite/gcc.target/powerpc/altivec-splat.c, gcc/testsuite/gcc.target/powerpc/altivec-types-1.c, gcc/testsuite/gcc.target/powerpc/altivec-types-2.c, gcc/testsuite/gcc.target/powerpc/altivec-types-3.c, gcc/testsuite/gcc.target/powerpc/altivec-types-4.c, gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c, gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c, gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c, gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c, gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c, gcc/testsuite/gcc.target/powerpc/pr16155.c, gcc/testsuite/gcc.target/powerpc/pr16286.c: Use these effective targets. * gcc/testsuite/gcc.dg/20020103-1.c: XFAIL on powerpc*-*-*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@113710 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog.csl66
-rw-r--r--gcc/testsuite/g++.dg/eh/simd-2.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-1.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-10.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-11.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-12.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-13.C4
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-2.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-3.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-4.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-5.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-6.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-7.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-8.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-9.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-1.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-2.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-3.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/altivec-types-4.C1
-rw-r--r--gcc/testsuite/gcc.dg/20020103-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/simd-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-82_64.c4
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-83_64.c4
-rw-r--r--gcc/testsuite/gcc.dg/vmx/vmx.exp11
-rw-r--r--gcc/testsuite/gcc.target/powerpc/980827-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-10.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-11.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-12.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-13.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-14.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-15.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-16.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-17.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-18.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-19.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-2.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-21.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-22.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-3.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-4.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-5.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-6.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-7.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-8.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-9.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-consts.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-splat.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-1.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-2.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-3.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-types-4.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c3
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr16155.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr16286.c2
-rw-r--r--gcc/testsuite/lib/target-supports.exp34
61 files changed, 166 insertions, 57 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 9b04b0fb629..4163a9570ba 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,69 @@
+2006-05-11 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc/testsuite/lib/target-supports.exp
+ (check_effective_target_powerpc_fprs,
+ check_effective_target_powerpc_altivec_ok): New.
+ * gcc/testsuite/g++.dg/eh/simd-2.C,
+ gcc/testsuite/g++.dg/ext/altivec-1.C,
+ gcc/testsuite/g++.dg/ext/altivec-10.C,
+ gcc/testsuite/g++.dg/ext/altivec-11.C,
+ gcc/testsuite/g++.dg/ext/altivec-12.C,
+ gcc/testsuite/g++.dg/ext/altivec-13.C,
+ gcc/testsuite/g++.dg/ext/altivec-2.C,
+ gcc/testsuite/g++.dg/ext/altivec-3.C,
+ gcc/testsuite/g++.dg/ext/altivec-4.C,
+ gcc/testsuite/g++.dg/ext/altivec-5.C,
+ gcc/testsuite/g++.dg/ext/altivec-6.C,
+ gcc/testsuite/g++.dg/ext/altivec-7.C,
+ gcc/testsuite/g++.dg/ext/altivec-8.C,
+ gcc/testsuite/g++.dg/ext/altivec-9.C,
+ gcc/testsuite/g++.dg/ext/altivec-types-1.C,
+ gcc/testsuite/g++.dg/ext/altivec-types-2.C,
+ gcc/testsuite/g++.dg/ext/altivec-types-3.C,
+ gcc/testsuite/g++.dg/ext/altivec-types-4.C,
+ gcc/testsuite/gcc.dg/simd-3.c,
+ gcc/testsuite/gcc.dg/vect/vect-82_64.c,
+ gcc/testsuite/gcc.dg/vect/vect-83_64.c,
+ gcc/testsuite/gcc.dg/vmx/vmx.exp,
+ gcc/testsuite/gcc.target/powerpc/980827-1.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-1.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-10.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-11.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-12.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-13.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-14.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-15.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-16.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-17.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-18.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-19.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-2.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-21.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-22.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-3.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-4.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-5.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-6.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-7.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-8.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-9.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-consts.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-splat.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-types-1.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-types-2.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-types-3.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-types-4.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c,
+ gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c,
+ gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c,
+ gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c,
+ gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c,
+ gcc/testsuite/gcc.target/powerpc/pr16155.c,
+ gcc/testsuite/gcc.target/powerpc/pr16286.c: Use these effective
+ targets.
+ * gcc/testsuite/gcc.dg/20020103-1.c: XFAIL on powerpc*-*-*.
+
2006-05-08 Paul Brook <paul@codesourcery.com>
* gcc/cofnig/arm/arm.c (output_move_vfp): Fix typo.
diff --git a/gcc/testsuite/g++.dg/eh/simd-2.C b/gcc/testsuite/g++.dg/eh/simd-2.C
index 813930faeba..a6f2a3fabc1 100644
--- a/gcc/testsuite/g++.dg/eh/simd-2.C
+++ b/gcc/testsuite/g++.dg/eh/simd-2.C
@@ -2,7 +2,7 @@
// Contributed by Aldy Hernandez (aldy@quesejoda.com).
// { dg-options "-O" }
// { dg-options "-O -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
-// { dg-options "-O -w -maltivec" { target powerpc*-*-linux* } }
+// { dg-options "-O -w -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } }
// { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } }
// { dg-do run }
diff --git a/gcc/testsuite/g++.dg/ext/altivec-1.C b/gcc/testsuite/g++.dg/ext/altivec-1.C
index 7e382babf11..cd7c3aad261 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-1.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-1.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-10.C b/gcc/testsuite/g++.dg/ext/altivec-10.C
index 36cce7e01fa..7f7d2b013de 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-10.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-10.C
@@ -1,7 +1,7 @@
/* This is a compile-only test for interaction of "-maltivec" and "-save-temps". */
/* Author: Ziemowit Laski <zlaski@apple.com>. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-save-temps -maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-11.C b/gcc/testsuite/g++.dg/ext/altivec-11.C
index 9e7fe952849..ff3016953d8 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-11.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-11.C
@@ -1,6 +1,6 @@
/* Test handling of literal constant for dss operation. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-12.C b/gcc/testsuite/g++.dg/ext/altivec-12.C
index 6e28204fcc5..6f21da961b2 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-12.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-12.C
@@ -1,6 +1,6 @@
/* Test vec_dst* functions with float pointer as first argument. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-13.C b/gcc/testsuite/g++.dg/ext/altivec-13.C
index f82fde950e5..abc05af62d5 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-13.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-13.C
@@ -3,9 +3,9 @@
AltiVec testsuite. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
-
+
#include <altivec.h>
extern vector unsigned char vuc;
diff --git a/gcc/testsuite/g++.dg/ext/altivec-2.C b/gcc/testsuite/g++.dg/ext/altivec-2.C
index 24a0ef228a8..6a404b266d8 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-2.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-2.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -Wall" } */
/* This test checks if AltiVec builtins accept const-qualified
diff --git a/gcc/testsuite/g++.dg/ext/altivec-3.C b/gcc/testsuite/g++.dg/ext/altivec-3.C
index e480299e1ae..8ac401ce7ce 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-3.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-3.C
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Test for correct handling of AltiVec constants passed
diff --git a/gcc/testsuite/g++.dg/ext/altivec-4.C b/gcc/testsuite/g++.dg/ext/altivec-4.C
index 62cc1f0535f..86a2615dc49 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-4.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-4.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* PR c++/14425 */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-5.C b/gcc/testsuite/g++.dg/ext/altivec-5.C
index 198f38cb0b5..04c26e80ff4 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-5.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-5.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* PR c++/14426 */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-6.C b/gcc/testsuite/g++.dg/ext/altivec-6.C
index 5ca23028bae..63ae0b0b91b 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-6.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-6.C
@@ -1,7 +1,7 @@
/* Test for correct handling of literal arguments. */
/* Author: Ziemowit Laski <zlaski@apple.com> */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-7.C b/gcc/testsuite/g++.dg/ext/altivec-7.C
index d1a0b2959c6..7c458fb003f 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-7.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-7.C
@@ -1,6 +1,6 @@
/* Test for AltiVec type overloading and name mangling. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-8.C b/gcc/testsuite/g++.dg/ext/altivec-8.C
index 045220252b9..3c5a76e060e 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-8.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-8.C
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Author: Ziemowit Laski <zlaski@apple.com> */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-9.C b/gcc/testsuite/g++.dg/ext/altivec-9.C
index ab78b99ebdf..174ae63edcb 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-9.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-9.C
@@ -1,6 +1,6 @@
/* Test for AltiVec function vec_ld, passing a pointer to const vector */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-1.C b/gcc/testsuite/g++.dg/ext/altivec-types-1.C
index 9ebab95e408..9e9ca96e8c6 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-1.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-1.C
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Valid AltiVec vector types should be accepted with no warnings. */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-2.C b/gcc/testsuite/g++.dg/ext/altivec-types-2.C
index 4f4d3f3a123..f64c0c5aa21 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-2.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-2.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target ilp32 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* These should get warnings for 32-bit code. */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-3.C b/gcc/testsuite/g++.dg/ext/altivec-types-3.C
index 42fd3ca359c..2fe965986b3 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-3.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-3.C
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-require-effective-target lp64 } */
/* { dg-options "-maltivec" } */
diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-4.C b/gcc/testsuite/g++.dg/ext/altivec-types-4.C
index bc2296cc15e..212f6733939 100644
--- a/gcc/testsuite/g++.dg/ext/altivec-types-4.C
+++ b/gcc/testsuite/g++.dg/ext/altivec-types-4.C
@@ -1,5 +1,6 @@
/* { 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" } */
/* These should not get warnings for 32-bit code when the warning is
diff --git a/gcc/testsuite/gcc.dg/20020103-1.c b/gcc/testsuite/gcc.dg/20020103-1.c
index 54ad83c21e5..56900af1f00 100644
--- a/gcc/testsuite/gcc.dg/20020103-1.c
+++ b/gcc/testsuite/gcc.dg/20020103-1.c
@@ -2,7 +2,7 @@
spilled to the stack, or regenerated, but not dropped to memory. */
/* { dg-do compile { target i?86-*-* powerpc-*-* rs6000-*-* alpha*-*-* x86_64-*-*} } */
/* { dg-options "-O2 -fpic -fno-omit-frame-pointer -fno-asynchronous-unwind-tables" } */
-/* { dg-final { scan-assembler-not "LC\[0-9\]" } } */
+/* { dg-final { scan-assembler-not "LC\[0-9\]" { xfail powerpc*-*-* } } } */
/* Clobber all call-saved registers that can hold a pointer value. */
#if defined(__i386__)
diff --git a/gcc/testsuite/gcc.dg/simd-3.c b/gcc/testsuite/gcc.dg/simd-3.c
index 34ad75d9602..790b1e51e6e 100644
--- a/gcc/testsuite/gcc.dg/simd-3.c
+++ b/gcc/testsuite/gcc.dg/simd-3.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-maltivec" { target powerpc-*-* } } */
+/* { dg-options "-maltivec" { target { powerpc*-*-* && powerpc_altivec_ok } } } */
__attribute__ ((vector_size (2))) signed char v1, v2, v3;
void
diff --git a/gcc/testsuite/gcc.dg/vect/vect-82_64.c b/gcc/testsuite/gcc.dg/vect/vect-82_64.c
index a21ed1281fe..15921a4c9eb 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-82_64.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-82_64.c
@@ -1,5 +1,5 @@
-/* { dg-do run { target { powerpc*-*-* && lp64 } } } */
-/* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */
+/* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } } */
+/* { dg-do compile { target { { powerpc*-*-* && ilp32 } && powerpc_altivec_ok } } } */
/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-83_64.c b/gcc/testsuite/gcc.dg/vect/vect-83_64.c
index b5f6f6f08a5..6cfebb2420f 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-83_64.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-83_64.c
@@ -1,5 +1,5 @@
-/* { dg-do run { target { powerpc*-*-* && lp64 } } } */
-/* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */
+/* { dg-do run { target { { powerpc*-*-* && lp64 } && powerpc_altivec_ok } } } */
+/* { dg-do compile { target { { powerpc*-*-* && ilp32 } && powerpc_altivec_ok } } } */
/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vmx/vmx.exp b/gcc/testsuite/gcc.dg/vmx/vmx.exp
index 54feb41020a..2b2bec3e136 100644
--- a/gcc/testsuite/gcc.dg/vmx/vmx.exp
+++ b/gcc/testsuite/gcc.dg/vmx/vmx.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,11 +19,10 @@
# Load support procs.
load_lib gcc-dg.exp
-# Skip these tests for non-PowerPC targets and for Aix, where AltiVec
-# is not yet supported. Also, skip these tests on the SPE because
-# AltiVec and E500 opcodes conflict.
-if {![istarget powerpc*-*-*] || [istarget powerpc*-*-aix*]
- || [istarget powerpc*-*eabispe*] } {
+# Skip these tests for non-PowerPC targets and for targets where AltiVec
+# is not supported.
+if {![istarget powerpc*-*-*]
+ || ![check_effective_target_powerpc_altivec_ok] } {
return
}
diff --git a/gcc/testsuite/gcc.target/powerpc/980827-1.c b/gcc/testsuite/gcc.target/powerpc/980827-1.c
index 84ba5ee4d5f..c2c92337a86 100644
--- a/gcc/testsuite/gcc.target/powerpc/980827-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/980827-1.c
@@ -1,4 +1,4 @@
-/* { dg-do run { target rs6000-*-linux* powerpc-*-linux*} } */
+/* { dg-do run { target { { *-*-linux* && ilp32 } && powerpc_fprs } } } */
/* { dg-options -O2 } */
extern void exit (int);
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-1.c
index 6fae31fe0c1..f235e7b57ac 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-1.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Program to test PowerPC AltiVec instructions. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-10.c b/gcc/testsuite/gcc.target/powerpc/altivec-10.c
index f65ea71ed49..82b3f45a391 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-10.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-10.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -fno-inline" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-11.c b/gcc/testsuite/gcc.target/powerpc/altivec-11.c
index a96a84c6d50..648993ab86c 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-11.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-11.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O2 -maltivec -mabi=altivec" } */
/* { dg-final { scan-assembler-not "lvx" } } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-12.c b/gcc/testsuite/gcc.target/powerpc/altivec-12.c
index 4dc0ea34571..296a3f7510a 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-12.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-12.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Program to test PowerPC AltiVec instructions. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-13.c b/gcc/testsuite/gcc.target/powerpc/altivec-13.c
index 8675e2c7cc7..22ff951b830 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-13.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-13.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Author: Ziemowit Laski <zlaski@apple.com> */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-14.c b/gcc/testsuite/gcc.target/powerpc/altivec-14.c
index b5712225771..30e5d11d7b1 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-14.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-14.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-15.c b/gcc/testsuite/gcc.target/powerpc/altivec-15.c
index 5d9f9ff37da..4e48cb7652f 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-15.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-15.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-16.c b/gcc/testsuite/gcc.target/powerpc/altivec-16.c
index 0be609431ce..7f7d2b013de 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-16.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-16.c
@@ -1,7 +1,7 @@
/* This is a compile-only test for interaction of "-maltivec" and "-save-temps". */
/* Author: Ziemowit Laski <zlaski@apple.com>. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-save-temps -maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-17.c b/gcc/testsuite/gcc.target/powerpc/altivec-17.c
index 463062ef086..8b108326862 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-17.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-17.c
@@ -2,7 +2,7 @@
typedef name as a vector type specifier. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec" } */
typedef unsigned int ui;
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-18.c b/gcc/testsuite/gcc.target/powerpc/altivec-18.c
index 9a3ee33f63d..5d988582049 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-18.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-18.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec" } */
/* { dg-final { scan-assembler "vcmpgtub" { target *-*-linux* } } } */
/* { dg-final { scan-assembler "vcmpgtsb" { target *-*-darwin* } } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-19.c b/gcc/testsuite/gcc.target/powerpc/altivec-19.c
index 1693a5488ee..80f305a5447 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-19.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-19.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* { dg-final { scan-assembler "dst" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-2.c b/gcc/testsuite/gcc.target/powerpc/altivec-2.c
index 9ba6a892ff9..4f341dd4207 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Program to test the vector_size attribute. This needs to run on a
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-21.c b/gcc/testsuite/gcc.target/powerpc/altivec-21.c
index 736cd74feb6..906aa197abf 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-21.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-21.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-22.c b/gcc/testsuite/gcc.target/powerpc/altivec-22.c
index 1af117c18fd..e09a1b44713 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-22.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-22.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O3 -maltivec" } */
/* { dg-final { scan-assembler-not "mfcr" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-3.c b/gcc/testsuite/gcc.target/powerpc/altivec-3.c
index 23c06e512af..17f62fd8f03 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-3.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include "altivec_check.h"
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-4.c b/gcc/testsuite/gcc.target/powerpc/altivec-4.c
index c2d4356a9a5..a5617e25b8a 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-4.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O0 -Wall" } */
#define vector __attribute__((vector_size(16)))
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-5.c b/gcc/testsuite/gcc.target/powerpc/altivec-5.c
index 87ce1a7ab1f..ae85cdbdc74 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-5.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-5.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O2" } */
#define vector __attribute__((vector_size(16)))
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-6.c b/gcc/testsuite/gcc.target/powerpc/altivec-6.c
index e0193546679..6248ca5458d 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-6.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-6.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O0 -Wall" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-7.c b/gcc/testsuite/gcc.target/powerpc/altivec-7.c
index 9a23940d271..30a1ee52062 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-7.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-7.c
@@ -1,7 +1,7 @@
/* Origin: Aldy Hernandez <aldyh@redhat.com> */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-8.c b/gcc/testsuite/gcc.target/powerpc/altivec-8.c
index 661cce76221..6668cf2db80 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-8.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-8.c
@@ -2,7 +2,7 @@
/* Test rs6000_legitimate_address. PRE_INC should be invalid. */
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-9.c b/gcc/testsuite/gcc.target/powerpc/altivec-9.c
index 36c79d3453b..b34dc1b51be 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-9.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-9.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -g" } */
/* PR9564 */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
index 318c723bcf5..e06a5286b17 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-consts.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -O2" } */
/* Check that "easy" AltiVec constants are correctly synthesized. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c b/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c
index ef57fbea57d..a7b81bbad56 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -fpreprocessed" } */
/* Program to test AltiVec with -fpreprocessed. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-splat.c b/gcc/testsuite/gcc.target/powerpc/altivec-splat.c
index 29e57bfd228..91ab72d783d 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-splat.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-splat.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -O2" } */
/* Testcase by Richard Guenther and Steven Bosscher.
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
index 0772abcf7d1..59e5520704a 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
@@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* Valid AltiVec vector types should be accepted with no warnings. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
index 4f4d3f3a123..f64c0c5aa21 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target ilp32 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* These should get warnings for 32-bit code. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
index 42fd3ca359c..38c4d6c1642 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
@@ -1,5 +1,6 @@
/* { dg-do compile { target powerpc*-*-linux* } } */
/* { dg-require-effective-target lp64 } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* These should be rejected for 64-bit code. */
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c b/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
index bc2296cc15e..212f6733939 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
@@ -1,5 +1,6 @@
/* { 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" } */
/* These should not get warnings for 32-bit code when the warning is
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c b/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c
index 8fba66956e3..2aa54a912a5 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -fno-inline" } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c b/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
index 021e4af8ec3..0e92a07bb57 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
@@ -1,5 +1,5 @@
/* { dg-do run { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -O2" } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
index 99ca85e972c..a9a16ab2f5c 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O -maltivec" } */
/* { dg-final { scan-assembler "lvx" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
index 0297e893180..1a290719c32 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-O -maltivec" } */
/* { dg-final { scan-assembler "stvx" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c
index 93ce7195d0c..a9883d9e335 100644
--- a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c
@@ -1,5 +1,4 @@
-/* { dg-do run { target powerpc64-*-linux* } } */
-/* { dg-require-effective-target lp64 } */
+/* { dg-do run { target { { powerpc*-*-linux* && lp64 } && powerpc_altivec_ok } } } */
/* { dg-options "-O2 -fprofile -mprofile-kernel -maltivec -mabi=altivec" } */
#include <stdarg.h>
#include <signal.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/pr16155.c b/gcc/testsuite/gcc.target/powerpc/pr16155.c
index df06e702d05..fffe957dcc4 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr16155.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr16155.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -ansi" } */
/* PR 16155
diff --git a/gcc/testsuite/gcc.target/powerpc/pr16286.c b/gcc/testsuite/gcc.target/powerpc/pr16286.c
index afca7a91ef2..790b6409fbc 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr16286.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr16286.c
@@ -1,5 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
/* PR 16286
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index a5b2461155d..9172bd626c2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1175,6 +1175,40 @@ proc check_effective_target_arm32 { } {
return $et_arm32_saved
}
+# Return 1 if this is a PowerPC target with floating-point registers.
+
+proc check_effective_target_powerpc_fprs { } {
+ if { [istarget powerpc*-*-*]
+ || [istarget rs6000-*-*] } {
+ return [check_no_compiler_messages powerpc_fprs object {
+ #ifdef __NO_FPRS__
+ #error no FPRs
+ #else
+ int dummy;
+ #endif
+ }]
+ } else {
+ return 0
+ }
+}
+
+# Return 1 if this is a PowerPC target supporting -maltivec.
+
+proc check_effective_target_powerpc_altivec_ok { } {
+ if { [istarget powerpc*-*-*]
+ || [istarget rs6000-*-*] } {
+ # AltiVec is not supported on Aix.
+ if { [istarget powerpc*-*-aix*] } {
+ return 0
+ }
+ return [check_no_compiler_messages powerpc_altivec_ok object {
+ int dummy;
+ } "-maltivec"]
+ } else {
+ return 0
+ }
+}
+
# Return 1 if the target supports hardware vector shift operation.
proc check_effective_target_vect_shift { } {