aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHartmut Penner <hpenner@de.ibm.com>2003-12-19 07:52:00 +0000
committerHartmut Penner <hpenner@gcc.gnu.org>2003-12-19 07:52:00 +0000
commited8d88031c395a0029393904e44afe077d7a5b93 (patch)
treef5f3e3be974f77cf6d0f972e93d0f350db0d8078 /gcc
parent83953138779b03605cb11c0f2abfb3397d21a313 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/altivec-varargs-1.c26
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 ();
+}