Imported Upstream version 4.7.3
[platform/upstream/gcc48.git] / gcc / testsuite / gcc.dg / vect / vect-debug-pr41926.c
1 /* PR debug/41926 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -g -ffast-math -funroll-loops -ftree-vectorize -msse2" { target { i?86-*-* x86_64-*-* } } } */
4 /* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
5
6 void
7 foo (double (*__restrict p)[4], double (*__restrict q)[4],
8      double *__restrict prim, double scale, double pp, double pq)
9 {
10   int md, mc, mb, ma, p_index = 0;
11
12   for (md = 0; md < 1; md++)
13     for (mc = 0; mc < 1; mc++)
14       for (mb = 0; mb < 1; mb++)
15         for (ma = 0; ma < 4; ma++)
16           {
17             double tmp = scale * prim[p_index++];
18             p[md][ma] = p[md][ma] - tmp * pp;
19             q[mc][ma] = q[mc][ma] - tmp * pq;
20           }
21 }