blob: a2d36d3b083b80f18282954372c3beecf8b8dfee [file] [log] [blame]
/* PR debug/41926 */
/* { dg-do compile } */
/* { dg-options "-O2 -g -ffast-math -funroll-loops -ftree-vectorize -msse2" { target { i?86-*-* x86_64-*-* } } } */
/* { dg-require-effective-target sse2 { target { i?86-*-* x86_64-*-* } } } */
void
foo (double (*__restrict p)[4], double (*__restrict q)[4],
double *__restrict prim, double scale, double pp, double pq)
{
int md, mc, mb, ma, p_index = 0;
for (md = 0; md < 1; md++)
for (mc = 0; mc < 1; mc++)
for (mb = 0; mb < 1; mb++)
for (ma = 0; ma < 4; ma++)
{
double tmp = scale * prim[p_index++];
p[md][ma] = p[md][ma] - tmp * pp;
q[mc][ma] = q[mc][ma] - tmp * pq;
}
}