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
This commit is contained in:
Joseph Myers 2006-05-11 20:56:21 +01:00 committed by Joseph Myers
parent 498f0cf38a
commit 1dbf8c2405
64 changed files with 147 additions and 59 deletions

View 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

View 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 }

View 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>

View 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>

View 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>

View 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>

View 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;

View 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

View 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

View 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 */

View 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 */

View 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>

View 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>

View 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> */

View 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>

View 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. */

View 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. */

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

View 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

View 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__)

View 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.

View 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

View 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>

View 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>

View File

@ -1,4 +1,4 @@
/* { dg-do run */
/* { dg-do run } */
/* { dg-options "-maltivec" } */
extern void abort ();

View 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
@ -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
}

View 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);

View 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. */

View 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>

View 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>

View 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. */

View 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> */

View 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>

View 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>

View 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>

View 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;

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

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

View 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

View File

@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec" } */
#include <altivec.h>

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

View 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"

View 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)))

View 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)))

View 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>

View 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>

View 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>

View File

@ -1,4 +1,5 @@
/* { dg-do compile { target powerpc*-*-* } } */
/* { dg-require-effective-target powerpc_altivec_ok } */
/* { dg-options "-maltivec -mabi=altivec -g" } */
/* PR9564 */

View 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. */

View 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. */

View 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.

View 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. */

View 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. */

View 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. */

View 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

View 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>

View 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>

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

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

View 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>

View 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

View 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

View 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",\

View 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 { } {