/* 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\])" } } */ |