From: Joseph Myers Date: Thu, 11 May 2006 19:56:21 +0000 (+0100) Subject: target-supports.exp (check_effective_target_powerpc_fprs, [...]): New. X-Git-Tag: releases/gcc-4.2.0~2952 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1dbf8c2405ea8618f493c0d5bb985f4c28d73570;p=thirdparty%2Fgcc.git target-supports.exp (check_effective_target_powerpc_fprs, [...]): New. * 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 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0a3faff04662..e118354f60ee 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,47 @@ +2006-05-11 Joseph S. Myers + + * 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 PR middle-end/27384 diff --git a/gcc/testsuite/g++.dg/eh/simd-2.C b/gcc/testsuite/g++.dg/eh/simd-2.C index 813930faebae..a6f2a3fabc1c 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 7e382babf11f..cd7c3aad2611 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 diff --git a/gcc/testsuite/g++.dg/ext/altivec-10.C b/gcc/testsuite/g++.dg/ext/altivec-10.C index 36cce7e01faa..7f7d2b013ded 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 . */ /* { 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 diff --git a/gcc/testsuite/g++.dg/ext/altivec-11.C b/gcc/testsuite/g++.dg/ext/altivec-11.C index 9e7fe9528499..ff3016953d87 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 diff --git a/gcc/testsuite/g++.dg/ext/altivec-12.C b/gcc/testsuite/g++.dg/ext/altivec-12.C index 6e28204fcc57..6f21da961b28 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 diff --git a/gcc/testsuite/g++.dg/ext/altivec-13.C b/gcc/testsuite/g++.dg/ext/altivec-13.C index f82fde950e51..abc05af62d5b 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 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 24a0ef228a80..6a404b266d87 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 e480299e1ae5..8ac401ce7cee 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 62cc1f0535fb..86a2615dc498 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 198f38cb0b55..04c26e80ff45 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 5ca23028baea..63ae0b0b91ba 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 */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include diff --git a/gcc/testsuite/g++.dg/ext/altivec-7.C b/gcc/testsuite/g++.dg/ext/altivec-7.C index d1a0b2959c64..7c458fb003f9 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 diff --git a/gcc/testsuite/g++.dg/ext/altivec-8.C b/gcc/testsuite/g++.dg/ext/altivec-8.C index 045220252b9e..3c5a76e060e8 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 */ diff --git a/gcc/testsuite/g++.dg/ext/altivec-9.C b/gcc/testsuite/g++.dg/ext/altivec-9.C index ab78b99ebdf9..174ae63edcb7 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 diff --git a/gcc/testsuite/g++.dg/ext/altivec-types-1.C b/gcc/testsuite/g++.dg/ext/altivec-types-1.C index 9ebab95e4089..9e9ca96e8c69 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 4f4d3f3a1231..f64c0c5aa215 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 42fd3ca359ce..2fe965986b3e 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 bc2296cc15e2..212f67339390 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 c0612ae20db3..776dd3d96d63 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-*-* 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__) diff --git a/gcc/testsuite/gcc.dg/dfp/altivec-types.c b/gcc/testsuite/gcc.dg/dfp/altivec-types.c index 16c8fb059ae5..e11ddc5e883a 100644 --- a/gcc/testsuite/gcc.dg/dfp/altivec-types.c +++ b/gcc/testsuite/gcc.dg/dfp/altivec-types.c @@ -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. diff --git a/gcc/testsuite/gcc.dg/simd-3.c b/gcc/testsuite/gcc.dg/simd-3.c index a806633eaeb2..790b1e51e6ea 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 a21ed1281fe8..15921a4c9eba 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 diff --git a/gcc/testsuite/gcc.dg/vect/vect-83_64.c b/gcc/testsuite/gcc.dg/vect/vect-83_64.c index b5f6f6f08a53..6cfebb2420f9 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 diff --git a/gcc/testsuite/gcc.dg/vmx/pr27006.c b/gcc/testsuite/gcc.dg/vmx/pr27006.c index 1b92252b3832..a011cc1da210 100644 --- a/gcc/testsuite/gcc.dg/vmx/pr27006.c +++ b/gcc/testsuite/gcc.dg/vmx/pr27006.c @@ -1,4 +1,4 @@ -/* { dg-do run */ +/* { dg-do run } */ /* { dg-options "-maltivec" } */ extern void abort (); diff --git a/gcc/testsuite/gcc.dg/vmx/vmx.exp b/gcc/testsuite/gcc.dg/vmx/vmx.exp index 54feb41020a1..2b2bec3e1361 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 5d526d38f086..c2c92337a864 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 { *-*-linux* && ilp32 } } } */ +/* { 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 6fae31fe0c1f..f235e7b57ac4 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 f65ea71ed498..82b3f45a391e 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-11.c b/gcc/testsuite/gcc.target/powerpc/altivec-11.c index a96a84c6d506..648993ab86c4 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-12.c b/gcc/testsuite/gcc.target/powerpc/altivec-12.c index 4dc0ea345711..296a3f7510a6 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 8675e2c7cc75..22ff951b8302 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 */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-14.c b/gcc/testsuite/gcc.target/powerpc/altivec-14.c index e3ca8845dfb1..4d3cf4f8cf97 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*-*-* && ilp32 } } } */ -/* { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-15.c b/gcc/testsuite/gcc.target/powerpc/altivec-15.c index 5d9f9ff37da6..4e48cb7652f7 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-16.c b/gcc/testsuite/gcc.target/powerpc/altivec-16.c index 0be609431ced..7f7d2b013ded 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 . */ /* { 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-17.c b/gcc/testsuite/gcc.target/powerpc/altivec-17.c index 463062ef0866..8b1083268624 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 9a3ee33f63d3..5d9885820492 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 1693a5488eeb..80f305a54472 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 9ba6a892ff98..4f341dd42079 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 736cd74feb6e..906aa197abf7 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-22.c b/gcc/testsuite/gcc.target/powerpc/altivec-22.c index 310007da4038..3c07309e43f6 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*-*-* && 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" } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-3.c b/gcc/testsuite/gcc.target/powerpc/altivec-3.c index 23c06e512af1..17f62fd8f03a 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 c2d4356a9a55..a5617e25b8a6 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 87ce1a7ab1f6..ae85cdbdc746 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 9d31046fa523..dc115f9422d5 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-7.c b/gcc/testsuite/gcc.target/powerpc/altivec-7.c index 9a23940d2714..30a1ee520621 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 */ /* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-xfail-if "" { "powerpc-ibm-aix*" } { "-maltivec" } { "" } } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec" } */ #include diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-8.c b/gcc/testsuite/gcc.target/powerpc/altivec-8.c index 661cce762211..6668cf2db80c 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-9.c b/gcc/testsuite/gcc.target/powerpc/altivec-9.c index 36c79d3453b1..b34dc1b51bee 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 318c723bcf5a..e06a5286b175 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 ef57fbea57de..a7b81bbad565 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 29e57bfd228b..91ab72d783db 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 0772abcf7d16..59e5520704a0 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 4f4d3f3a1231..f64c0c5aa215 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 42fd3ca359ce..38c4d6c16425 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 bc2296cc15e2..212f67339390 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 8fba66956e37..2aa54a912a58 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 diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c b/gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c index 021e4af8ec3e..0e92a07bb576 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 diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c b/gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c index 99ca85e972c4..a9a16ab2f5cd 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 0297e893180e..1a290719c321 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 937dacb66e36..a9883d9e3355 100644 --- a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c +++ b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c @@ -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 #include diff --git a/gcc/testsuite/gcc.target/powerpc/pr16155.c b/gcc/testsuite/gcc.target/powerpc/pr16155.c index df06e702d059..fffe957dcc4d 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 afca7a91ef25..790b6409fbcd 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/gcc.target/powerpc/pr27158.c b/gcc/testsuite/gcc.target/powerpc/pr27158.c index 4228e9a35842..5476577a9241 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr27158.c +++ b/gcc/testsuite/gcc.target/powerpc/pr27158.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" } */ #define REGLIST \ "77", "78", "79", "80", "81", "82", "83", "84", "85", "86",\ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d4242e666c25..471e096b7779 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -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 { } {