/* PR target/71346 */
/* { dg-do compile { target { ! ia32 } }  } */
/* { dg-options "-O2 -ftree-vectorize -ffast-math -march=knl" } */

typedef int rvec[3];
int a;
float b, c, d, g;
rvec *e, *f;
void fn2(float h, float g);

void
fn1()
{
  float h;
  for (; a; a++) {
    h += e[a][0] * f[a][0];
    b += e[a][0] * f[a][1];
    c += e[a][2] * f[a][0];
    d += e[a][2] * f[a][1];
    g += e[a][2] * f[a][2];
  }
  fn2(h, g);
}

/* { dg-final { scan-assembler-not "vshufps\[ \\t\]+\[^\n\]*%\xmm(?:1\[6-9\]|\[2-3\]\[0-9\])" } } */
