blob: 8dcdac7b06309b6b607a54c6eb1e14ed22be3dab [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3 -mavx512f" } */
long long *D;
int *S;
short *H;
char *Q;
long long foo_unpack_1 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
D[i] *= S[i];
return D[ind];
}
long long foo_unpack_2 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
D[i] *= H[i];
return D[ind];
}
long long foo_unpack_3 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
D[i] *= Q[i];
return D[ind];
}
int foo_unpack_4 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
S[i] *= H[i];
return S[ind];
}
int foo_unpack_5 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
S[i] *= Q[i];
return S[ind];
}
short foo_unpack_6 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
H[i] *= Q[i];
return H[ind];
}
int foo_expand_1 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
S[i] *= D[i];
return S[ind];
}
short foo_expand_2 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
H[i] *= D[i];
return H[ind];
}
char foo_expand_3 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
Q[i] *= D[i];
return Q[ind];
}
short foo_expand_4 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
H[i] *= S[i];
return H[ind];
}
char foo_expand_5 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
Q[i] *= S[i];
return Q[ind];
}
char foo_expand_6 (int low, int high, int ind)
{
int i;
for (i = low; i <= high; i++)
Q[i] *= H[i];
return Q[ind];
}