diff options
author | Hartmut Penner <hpenner@de.ibm.com> | 2003-12-19 07:52:00 +0000 |
---|---|---|
committer | Hartmut Penner <hpenner@gcc.gnu.org> | 2003-12-19 07:52:00 +0000 |
commit | ed8d88031c395a0029393904e44afe077d7a5b93 (patch) | |
tree | f5f3e3be974f77cf6d0f972e93d0f350db0d8078 /gcc | |
parent | 83953138779b03605cb11c0f2abfb3397d21a313 (diff) | |
download | gcc-ed8d88031c395a0029393904e44afe077d7a5b93.zip gcc-ed8d88031c395a0029393904e44afe077d7a5b93.tar.gz gcc-ed8d88031c395a0029393904e44afe077d7a5b93.tar.bz2 |
* gcc.dg/altivec-varargs-1.c: Enable testcase on ppc linux.
From-SVN: r74823
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/altivec-varargs-1.c | 26 |
2 files changed, 25 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 980e449..073216a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-12-19 Hartmut Penner <hpenner@de.ibm.com> + + * gcc.dg/altivec-varargs-1.c: Enable testcase on ppc linux. + 2003-12-18 Andrew Pinski <pinskia@physics.uc.edu> PR debug/12923 diff --git a/gcc/testsuite/gcc.dg/altivec-varargs-1.c b/gcc/testsuite/gcc.dg/altivec-varargs-1.c index b866500..caf6a26 100644 --- a/gcc/testsuite/gcc.dg/altivec-varargs-1.c +++ b/gcc/testsuite/gcc.dg/altivec-varargs-1.c @@ -1,9 +1,8 @@ -/* { dg-do run { target powerpc*-*-darwin* powerpc*-*-*altivec* } } */ -/* { dg-options "-maltivec" } */ -/* This test requires altivec, which means it'll fail on Darwin running - on G3. FIXME. */ +/* { dg-do run { target powerpc*-*-darwin* powerpc*-*-*altivec* powerpc*-*-linux*} } */ +/* { dg-options "-maltivec -mabi=altivec -fno-inline" } */ #include <stdarg.h> +#include <signal.h> #define vector __attribute__((mode(V4SI))) @@ -54,7 +53,7 @@ void bar(vector unsigned int a, ...) } -int main(void) +int main1(void) { /* In this call, in the Darwin ABI, the first argument goes into v2 the second one into r9-r10 and memory, @@ -72,3 +71,20 @@ int main(void) (vector unsigned int){30,31,32,33}); return 0; } + +void +sig_ill_handler (int sig) +{ + exit(0); +} + +int main (void) +{ + /* Exit on systems without altivec. */ + signal (SIGILL, sig_ill_handler); + /* Altivec instruction, 'vor %v0,%v0,%v0'. */ + asm volatile (".long 0x10000484"); + signal (SIGILL, SIG_DFL); + + return main1 (); +} |