aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Johannesen <dalej@gcc.gnu.org>2004-06-22 19:11:43 +0000
committerDale Johannesen <dalej@gcc.gnu.org>2004-06-22 19:11:43 +0000
commita91b0033574cf8d647d3dd56708ce3ec787536ba (patch)
tree065bc649919916b3bb4e97223442b4401f5916a2
parent6bb1041efd25b13d412ca201ccdb98461e96799e (diff)
downloadgcc-a91b0033574cf8d647d3dd56708ce3ec787536ba.zip
gcc-a91b0033574cf8d647d3dd56708ce3ec787536ba.tar.gz
gcc-a91b0033574cf8d647d3dd56708ce3ec787536ba.tar.bz2
Testcases for my rs6000-specific change of this date.
From-SVN: r83511
-rw-r--r--gcc/testsuite/gcc.dg/20040622-1.c13
-rw-r--r--gcc/testsuite/gcc.dg/20040622-2.c10
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/20040622-1.c b/gcc/testsuite/gcc.dg/20040622-1.c
new file mode 100644
index 0000000..4562fe6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20040622-1.c
@@ -0,0 +1,13 @@
+/* { dg-options "-Os -mlong-double-128" } */
+/* { dg-do compile { target rs6000-*-* powerpc-*-* } } */
+/* Make sure compiler doesn't generate [reg+reg] address mode
+ for long doubles. */
+union arg {
+ int intarg;
+ long double longdoublearg;
+};
+long double d;
+int va(int n, union arg **argtable)
+{
+ (*argtable)[n].longdoublearg = d;
+}
diff --git a/gcc/testsuite/gcc.dg/20040622-2.c b/gcc/testsuite/gcc.dg/20040622-2.c
new file mode 100644
index 0000000..3297401
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20040622-2.c
@@ -0,0 +1,10 @@
+/* { dg-do link } */
+/* This validates codegen for [r1+32760] on Darwin. */
+void f(char x[32688], double *y, double *z) __attribute__((noinline));
+void f(char x[32688], double *y, double *z) {}
+main() {
+ char x[32688];
+ double y, z;
+ y = z = 3.0;
+ f(x, &y, &z);
+}