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