diff options
| -rw-r--r-- | gcc/testsuite/gcc.dg/20040622-1.c | 13 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.dg/20040622-2.c | 10 |
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); +} |
