1 /* PR target/71346 */
2 /* { dg-do compile { target { ! ia32 } }  } */
3 /* { dg-options "-O2 -ftree-vectorize -ffast-math -march=knl" } */
4 
5 typedef int rvec[3];
6 int a;
7 float b, c, d, g;
8 rvec *e, *f;
9 void fn2(float h, float g);
10 
11 void
fn1()12 fn1()
13 {
14   float h;
15   for (; a; a++) {
16     h += e[a][0] * f[a][0];
17     b += e[a][0] * f[a][1];
18     c += e[a][2] * f[a][0];
19     d += e[a][2] * f[a][1];
20     g += e[a][2] * f[a][2];
21   }
22   fn2(h, g);
23 }
24 
25 /* { dg-final { scan-assembler-not "vshufps\[ \\t\]+\[^\n\]*%\xmm(?:1\[6-9\]|\[2-3\]\[0-9\])" } } */
26