Testcases for my rs6000-specific change of this date.
authorDale Johannesen <dalej@gcc.gnu.org>
Tue, 22 Jun 2004 19:11:43 +0000 (19:11 +0000)
committerDale Johannesen <dalej@gcc.gnu.org>
Tue, 22 Jun 2004 19:11:43 +0000 (19:11 +0000)
From-SVN: r83511

gcc/testsuite/gcc.dg/20040622-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/20040622-2.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.dg/20040622-1.c b/gcc/testsuite/gcc.dg/20040622-1.c
new file mode 100644 (file)
index 0000000..4562fe6
--- /dev/null
@@ -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 (file)
index 0000000..3297401
--- /dev/null
@@ -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);
+}