diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr57003.c')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr57003.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr57003.c b/gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr57003.c deleted file mode 100644 index dfa6b8b50..000000000 --- a/gcc-4.8.1/gcc/testsuite/gcc.target/i386/pr57003.c +++ /dev/null @@ -1,54 +0,0 @@ -/* PR rtl-optimization/57003 */ -/* { dg-do run } */ -/* { dg-options "-O2" } */ - -#define N 2001 -unsigned short *b, *c, *d; - -__attribute__ ((noinline, noclone)) unsigned -bar (void) -{ - asm volatile ("" : : : "memory"); - return N; -} - -__attribute__ ((noinline, noclone)) unsigned short * -baz (unsigned long x) -{ - if (x != N * sizeof (unsigned short) + 20) - __builtin_abort (); - asm volatile ("" : : : "memory"); - return d; -} - -__attribute__ ((ms_abi, noinline, noclone)) -foo (void) -{ - unsigned d; - unsigned short *e; - if ((d = bar ())) - { - e = baz (d * sizeof (unsigned short) + 20); - __builtin_memcpy (e, b, d * sizeof (unsigned short)); - c = e; - } -} - -int -main () -{ - unsigned short a[2 * N]; - int i; - for (i = 0; i < 2 * N; i++) - a[i] = i + 1; - b = a; - d = a + N; - asm volatile ("" : : : "memory"); - foo (); - for (i = 0; i < N; i++) - if (a[i] != i + 1 || a[i + N] != i + 1) - __builtin_abort (); - if (c != a + N) - __builtin_abort (); - return 0; -} |