diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9b068650cfa..4c8dadf1d2b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-07-03 Uros Bizjak + Francois-Xavier Coudert + + PR middle-end/32176 + * gcc.dg/pr32176.c: New test. + 2007-07-03 Uros Bizjak * gcc.dg/const-float80.c : New test. diff --git a/gcc/testsuite/gcc.dg/pr32176.c b/gcc/testsuite/gcc.dg/pr32176.c new file mode 100644 index 00000000000..bd2a1e3f9d0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr32176.c @@ -0,0 +1,28 @@ +/* Contributed by Francois-Xavier Coudert */ + +/* { dg-do compile } */ +/* { dg-options "-O2 -fprefetch-loop-arrays" } */ +/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ + +void foo (void) +{ + int i, m; + float xa[21]; + + m = 0; + while (1) + { + i = 0; + while (1) + { + if (xa[(long int)i] == xa[(long int)(i+m)]) + _gfortran_abort (); + if (i == 10) + break; + i++; + } + if (m == 10) + break; + m++; + } +}