]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
target-supports.exp (check_effective_target_powerpc_fprs, [...]): New.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 11 May 2006 19:56:21 +0000 (20:56 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Thu, 11 May 2006 19:56:21 +0000 (20:56 +0100)
* lib/target-supports.exp (check_effective_target_powerpc_fprs,
check_effective_target_powerpc_altivec_ok): New.
* g++.dg/eh/simd-2.C, g++.dg/ext/altivec-1.C,
g++.dg/ext/altivec-10.C, g++.dg/ext/altivec-11.C,
g++.dg/ext/altivec-12.C, g++.dg/ext/altivec-13.C,
g++.dg/ext/altivec-2.C, g++.dg/ext/altivec-3.C,
g++.dg/ext/altivec-4.C, g++.dg/ext/altivec-5.C,
g++.dg/ext/altivec-6.C, g++.dg/ext/altivec-7.C,
g++.dg/ext/altivec-8.C, g++.dg/ext/altivec-9.C,
g++.dg/ext/altivec-types-1.C, g++.dg/ext/altivec-types-2.C,
g++.dg/ext/altivec-types-3.C, g++.dg/ext/altivec-types-4.C,
gcc.dg/dfp/altivec-types.c, gcc.dg/simd-3.c,
gcc.dg/vect/vect-82_64.c, gcc.dg/vect/vect-83_64.c,
gcc.dg/vmx/vmx.exp, gcc.target/powerpc/980827-1.c,
gcc.target/powerpc/altivec-1.c, gcc.target/powerpc/altivec-10.c,
gcc.target/powerpc/altivec-11.c, gcc.target/powerpc/altivec-12.c,
gcc.target/powerpc/altivec-13.c, gcc.target/powerpc/altivec-14.c,
gcc.target/powerpc/altivec-15.c, gcc.target/powerpc/altivec-16.c,
gcc.target/powerpc/altivec-17.c, gcc.target/powerpc/altivec-18.c,
gcc.target/powerpc/altivec-19.c, gcc.target/powerpc/altivec-2.c,
gcc.target/powerpc/altivec-21.c, gcc.target/powerpc/altivec-22.c,
gcc.target/powerpc/altivec-3.c, gcc.target/powerpc/altivec-4.c,
gcc.target/powerpc/altivec-5.c, gcc.target/powerpc/altivec-6.c,
gcc.target/powerpc/altivec-7.c, gcc.target/powerpc/altivec-8.c,
gcc.target/powerpc/altivec-9.c,
gcc.target/powerpc/altivec-consts.c,
gcc.target/powerpc/altivec-pr22085.c,
gcc.target/powerpc/altivec-splat.c,
gcc.target/powerpc/altivec-types-1.c,
gcc.target/powerpc/altivec-types-2.c,
gcc.target/powerpc/altivec-types-3.c,
gcc.target/powerpc/altivec-types-4.c,
gcc.target/powerpc/altivec-varargs-1.c,
gcc.target/powerpc/altivec-vec-merge.c,
gcc.target/powerpc/ppc-vector-memcpy.c,
gcc.target/powerpc/ppc-vector-memset.c,
gcc.target/powerpc/ppc64-abi-2.c, gcc.target/powerpc/pr16155.c,
gcc.target/powerpc/pr16286.c, gcc.target/powerpc/pr27158.c: Use
these effective targets.
* gcc.dg/vmx/pr27006.c: Add missing close brace.
* gcc.dg/20020103-1.c: XFAIL on powerpc*-*-*.

From-SVN: r113709

64 files changed:
gcc/testsuite/ChangeLog
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/20020103-1.c
gcc/testsuite/gcc.dg/dfp/altivec-types.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/pr27006.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
gcc/testsuite/gcc.target/powerpc/pr27158.c
gcc/testsuite/lib/target-supports.exp

index 0a3faff0466227246a829477e279ef22cfc32fc4..e118354f60ee40f125ef75ade2e9af27d0f50187 100644 (file)
@@ -1,3 +1,47 @@
+2006-05-11  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * lib/target-supports.exp (check_effective_target_powerpc_fprs,
+       check_effective_target_powerpc_altivec_ok): New.
+       * g++.dg/eh/simd-2.C, g++.dg/ext/altivec-1.C,
+       g++.dg/ext/altivec-10.C, g++.dg/ext/altivec-11.C,
+       g++.dg/ext/altivec-12.C, g++.dg/ext/altivec-13.C,
+       g++.dg/ext/altivec-2.C, g++.dg/ext/altivec-3.C,
+       g++.dg/ext/altivec-4.C, g++.dg/ext/altivec-5.C,
+       g++.dg/ext/altivec-6.C, g++.dg/ext/altivec-7.C,
+       g++.dg/ext/altivec-8.C, g++.dg/ext/altivec-9.C,
+       g++.dg/ext/altivec-types-1.C, g++.dg/ext/altivec-types-2.C,
+       g++.dg/ext/altivec-types-3.C, g++.dg/ext/altivec-types-4.C,
+       gcc.dg/dfp/altivec-types.c, gcc.dg/simd-3.c,
+       gcc.dg/vect/vect-82_64.c, gcc.dg/vect/vect-83_64.c,
+       gcc.dg/vmx/vmx.exp, gcc.target/powerpc/980827-1.c,
+       gcc.target/powerpc/altivec-1.c, gcc.target/powerpc/altivec-10.c,
+       gcc.target/powerpc/altivec-11.c, gcc.target/powerpc/altivec-12.c,
+       gcc.target/powerpc/altivec-13.c, gcc.target/powerpc/altivec-14.c,
+       gcc.target/powerpc/altivec-15.c, gcc.target/powerpc/altivec-16.c,
+       gcc.target/powerpc/altivec-17.c, gcc.target/powerpc/altivec-18.c,
+       gcc.target/powerpc/altivec-19.c, gcc.target/powerpc/altivec-2.c,
+       gcc.target/powerpc/altivec-21.c, gcc.target/powerpc/altivec-22.c,
+       gcc.target/powerpc/altivec-3.c, gcc.target/powerpc/altivec-4.c,
+       gcc.target/powerpc/altivec-5.c, gcc.target/powerpc/altivec-6.c,
+       gcc.target/powerpc/altivec-7.c, gcc.target/powerpc/altivec-8.c,
+       gcc.target/powerpc/altivec-9.c,
+       gcc.target/powerpc/altivec-consts.c,
+       gcc.target/powerpc/altivec-pr22085.c,
+       gcc.target/powerpc/altivec-splat.c,
+       gcc.target/powerpc/altivec-types-1.c,
+       gcc.target/powerpc/altivec-types-2.c,
+       gcc.target/powerpc/altivec-types-3.c,
+       gcc.target/powerpc/altivec-types-4.c,
+       gcc.target/powerpc/altivec-varargs-1.c,
+       gcc.target/powerpc/altivec-vec-merge.c,
+       gcc.target/powerpc/ppc-vector-memcpy.c,
+       gcc.target/powerpc/ppc-vector-memset.c,
+       gcc.target/powerpc/ppc64-abi-2.c, gcc.target/powerpc/pr16155.c,
+       gcc.target/powerpc/pr16286.c, gcc.target/powerpc/pr27158.c: Use
+       these effective targets.
+       * gcc.dg/vmx/pr27006.c: Add missing close brace.
+       * gcc.dg/20020103-1.c: XFAIL on powerpc*-*-*.
+
 2006-05-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
        PR middle-end/27384
index 813930faebae13afebffdc85f8f61fa7ba639617..a6f2a3fabc1ca702857d6a64a71e8d827bce8034 100644 (file)
@@ -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 }
 
index 7e382babf11f26e92329c9ad47dbf8b539f549d2..cd7c3aad2611d299bcfe8d19f01c656c4aff3459 100644 (file)
@@ -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>
index 36cce7e01faa841ac7a05ca867f492176f544806..7f7d2b013deddf7b3d05e009cde6a03fa8fc6976 100644 (file)
@@ -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>
index 9e7fe9528499fe50c47b6147307cc2df4459be17..ff3016953d87f018a5f485b3f46fa85fdd79ce86 100644 (file)
@@ -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>
index 6e28204fcc577924d22f9d598a4e92b35858eb15..6f21da961b28bbaeb8354cbd1e0339a5510914fc 100644 (file)
@@ -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>
index f82fde950e5146d1515019d87b3696d87fa37a5e..abc05af62d5be2c3de41588d41b70098ec466b99 100644 (file)
@@ -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;
index 24a0ef228a804aa390658da42d66cd4233634842..6a404b266d8798c887659ca7f02e797d3f90a533 100644 (file)
@@ -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
index e480299e1ae5a9dd99b30c43365f7b48d309fa66..8ac401ce7cee898d286ec71b1a7b82f55f6db9ed 100644 (file)
@@ -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
index 62cc1f0535fb0e2e9e2e26ee1add0c272a07a8b8..86a2615dc498e782bffec137503909053f01ca1b 100644 (file)
@@ -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 */
index 198f38cb0b559dec0fb433f0d8f1a4f371c7e767..04c26e80ff45587c8db0c6e1d1ed20275a179bc3 100644 (file)
@@ -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 */
index 5ca23028baeac885bd94e75b67134d679cedffad..63ae0b0b91baa3092dca401c3ea37336280ce3ee 100644 (file)
@@ -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>
index d1a0b2959c6450476e62ca4443d4dfd602a3919f..7c458fb003f9d1f3544c245bb95283f8e064a4d8 100644 (file)
@@ -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>
index 045220252b9ef3c06276bb2a3a5653191de4ad2a..3c5a76e060e812ffb5b601b12cf259fdd48270e8 100644 (file)
@@ -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>  */
 
index ab78b99ebdf97b7e4291f43e578809f7ae6b1585..174ae63edcb7dbfc6644a7df82f823376d8bbba9 100644 (file)
@@ -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>
index 9ebab95e4089ee05db2ec7eae45d1ae3767e7af5..9e9ca96e8c69f28bfe9ebc62128f5e502a6e1d21 100644 (file)
@@ -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.  */
index 4f4d3f3a1231d6f397a7dc76621118e0bdeaf6c0..f64c0c5aa2153ce71ebe738bf9d12cf871f21f59 100644 (file)
@@ -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.  */
index 42fd3ca359ce16961aa39f1e3ad23e224de32311..2fe965986b3e7806460a873a8ac4042565638b98 100644 (file)
@@ -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" } */
 
index bc2296cc15e2dfd364f7c8450717f0d8e9353ef9..212f67339390fec2f48df6175d86a6724e9b4515 100644 (file)
@@ -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
index c0612ae20db36f3753f729fa4b109d6c925d577c..776dd3d96d63e98b6e586d1d887c45128db331f4 100644 (file)
@@ -2,7 +2,7 @@
    spilled to the stack, or regenerated, but not dropped to memory.  */
 /* { dg-do compile { target { { i?86-*-* rs6000-*-* alpha*-*-* x86_64-*-* } || { powerpc*-*-* && ilp32 } } } } */
 /* { 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__)
index 16c8fb059ae573954e9299ac1c60f6a541bc4a87..e11ddc5e883acb4b43ecbbde1334c4f7abd0d523 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { powerpc*-*-linux* } } } */
+/* { dg-do compile { target { powerpc*-*-linux* && powerpc_altivec_ok } } } */
 /* { dg-options "-maltivec" } */
 
 /* GNU extension: PowerPC AltiVec Built-in Functions.
index a806633eaeb2380452eb81711d29be0fecfde3b0..790b1e51e6ea6f57eb51fc8805139419caf88bf2 100644 (file)
@@ -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
index a21ed1281fe8f46648019a6274588da108e2fbc5..15921a4c9eba955adac6c34aa0aac62624a0cefd 100644 (file)
@@ -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>
index b5f6f6f08a536f25608187ac0deeede0274fc4a6..6cfebb2420f999b0fc302e8231ae17d16deea474 100644 (file)
@@ -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>
index 1b92252b3832733f5cc6b7e659adcf2a0528a464..a011cc1da210764c0e2d5e606bae811337d310a5 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do run */
+/* { dg-do run */
 /* { dg-options "-maltivec" } */
 
 extern void abort ();
index 54feb41020a1de30b832d883e7bf9f61ccfa5b30..2b2bec3e1361847ea98488a984be3793f2e14634 100644 (file)
@@ -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
 # 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
 }
 
index 5d526d38f0866170c3ec23c2a99f88a92968cc5e..c2c92337a8642b3242b1081503250ad7409ea92d 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do run { target { *-*-linux* && ilp32 } } } */
+/* { dg-do run { target { { *-*-linux* && ilp32 } && powerpc_fprs } } } */
 /* { dg-options -O2 } */
 
 extern void exit (int);
index 6fae31fe0c1fd092457869768a996be016808c18..f235e7b57ac4d8ec100b45c59c8596c8926dfe46 100644 (file)
@@ -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.  */
index f65ea71ed498bb93ce8752345f5cf262b7ce5f2e..82b3f45a391ea71685e743aa23303aee58ed243a 100644 (file)
@@ -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>
index a96a84c6d5065f678698776e2bd390d571b3ae2f..648993ab86c446a1387d0a1954b0d280ee09ec54 100644 (file)
@@ -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>
index 4dc0ea3457117d8c3e30150d73ba0f1170c98114..296a3f7510a65f998727b9d47091cc293218be35 100644 (file)
@@ -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.  */
index 8675e2c7cc7532a33ac7fb407cbbd59702bd15ad..22ff951b830260b8fc8cbf13a146ce5993748db2 100644 (file)
@@ -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>  */
 
index e3ca8845dfb1ab1856470190b03f99c10858714e..4d3cf4f8cf974d9b85861961b626006335a54817 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */
-/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
 /* { dg-options "-maltivec" } */
 
 #include <altivec.h>
index 5d9f9ff37da672cc7b1141ed4a5cf14b9749e2df..4e48cb7652f77f562c1b78ab2c62b3fb39cad45c 100644 (file)
@@ -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>
index 0be609431ced53826161929045b7551b25fc6713..7f7d2b013deddf7b3d05e009cde6a03fa8fc6976 100644 (file)
@@ -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>
index 463062ef0866bee6c52a01110fd7c47abddab6b5..8b1083268624ad4c537e829742c9a33392c7daa6 100644 (file)
@@ -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;
index 9a3ee33f63d3ce41246ff9c1a8538bf908aeec2c..5d9885820492abf48d0daa1026c49985775a0073 100644 (file)
@@ -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* } } } */
index 1693a5488eebb7814ffccb353993826f9e1370cf..80f305a54472bcd9ae3ff703e21a64318d7334f3 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
 /* { dg-options "-maltivec" } */
 /* { dg-final { scan-assembler "dst" } } */
 
index 9ba6a892ff98ed8f320a2b25805fbd84a3c9f5d9..4f341dd4207996d92c552d507787e25bb4112cd8 100644 (file)
@@ -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
index 736cd74feb6e75c06940f2cc853da0934bec647f..906aa197abf71bd2aaa4158e4feb9c0d381de7a9 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
 /* { dg-options "-maltivec" } */
 
 #include <altivec.h>
index 310007da40389a4ac573788708e192c86bf73bb6..3c07309e43f6255428243fff953d7dedb6658275 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target { powerpc*-*-* && ilp32 } } } */
-/* { 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" } } */
 
index 23c06e512af1ad064fca1a2a30e44f987d7af993..17f62fd8f03a7a5a86789e253f732ac482dc94c8 100644 (file)
@@ -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"
index c2d4356a9a55c17c81a2a3df4326fd566c8d1f71..a5617e25b8a6734d0986936537ea8a6bf41732d9 100644 (file)
@@ -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)))
index 87ce1a7ab1f6d4dbcc4748993a8470b3045e7181..ae85cdbdc746b578cac91eea0515a2ad3690b5b7 100644 (file)
@@ -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)))
index 9d31046fa52374c0bebec869be0f55af10403cbd..dc115f9422d5406b5a223af8e2c50cfbfb73b6f9 100644 (file)
@@ -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>
index 9a23940d271453cd6d0375fa80267026e615dde8..30a1ee5206214f63b5d1c64cf23f0985c0ea8132 100644 (file)
@@ -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>
index 661cce7622110b8ea1101d14d8461570cb4c60d4..6668cf2db80cb0207b485b03e4dc85c0654c9212 100644 (file)
@@ -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>
index 36c79d3453b1e8a76a0b184f0135910cb2d421ec..b34dc1b51bee3f3cbe29e398896ebc788b804a2b 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
 /* { dg-options "-maltivec -mabi=altivec -g" } */
 
 /* PR9564 */
index 318c723bcf5a5aa1de84868a4d47f598179a5e34..e06a5286b175b9ae8b2bfd29719faa60b8e689e9 100644 (file)
@@ -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.  */
index ef57fbea57de4c1f3bf92615f99d91a0e5456cfc..a7b81bbad565ab5cdfc393bb24b4c7a19dd23eef 100644 (file)
@@ -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.  */
index 29e57bfd228bcd00ac8416e8b59696da778e3ebb..91ab72d783db2116aca24560e4397add8bddca17 100644 (file)
@@ -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.
index 0772abcf7d1691de7f83967e343a4121d6adc0c1..59e5520704a003aa59cb1ab2b2fb369b60f32935 100644 (file)
@@ -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.  */
index 4f4d3f3a1231d6f397a7dc76621118e0bdeaf6c0..f64c0c5aa2153ce71ebe738bf9d12cf871f21f59 100644 (file)
@@ -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.  */
index 42fd3ca359ce16961aa39f1e3ad23e224de32311..38c4d6c164259d5d69ec2f0870cb732e9121d88b 100644 (file)
@@ -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.  */
index bc2296cc15e2dfd364f7c8450717f0d8e9353ef9..212f67339390fec2f48df6175d86a6724e9b4515 100644 (file)
@@ -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
index 8fba66956e37b479d4c1550d5acedf1e516149a4..2aa54a912a583da5fb12cd14a06104df48f1bfd7 100644 (file)
@@ -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>
index 021e4af8ec3e7a844501f53bd004bc1b4ccbb87b..0e92a07bb57659a3b3bbb58977fb45ac61a926a1 100644 (file)
@@ -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>
index 99ca85e972c411b385dc4fa246d3a5a7a6e05c60..a9a16ab2f5cd8320f61d57dc707fc62d4babc6c8 100644 (file)
@@ -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" } } */
 
index 0297e893180e91f2c5d331e2ba334a80e6964b44..1a290719c321c0a2006e2bb47851d412b2f47de8 100644 (file)
@@ -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" } } */
 
index 937dacb66e367ba7698d0f3e05abb9444a9a7e9f..a9883d9e3355ddd57b219829e42ff9cf89e3098d 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do run { target { powerpc*-*-linux* && 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>
index df06e702d0597839f5d0c4a6d3897db72749387b..fffe957dcc4d1c39f75b82102809bc9a42e5ecd4 100644 (file)
@@ -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
index afca7a91ef25647f17fa5a61c2342c51d38bf014..790b6409fbcd23dbd6497144763ee9b859fc9501 100644 (file)
@@ -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
index 4228e9a358424bf2de972debd0ccdd57ba8a099c..5476577a92416de74ad134af0ef82a208b3491c1 100644 (file)
@@ -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" } */
 #define REGLIST                                                              \
          "77",  "78",  "79",  "80",  "81",  "82",  "83",  "84",  "85",  "86",\
index d4242e666c25268a8cb71121e379fc648ea7122e..471e096b777993e0c6018a3b435923a597ea737c 100644 (file)
@@ -1226,6 +1226,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 { } {