blob: 844f37ddfc1f76dee823f1e5512137e5049d485a [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-mavx512f -mavx512vnni -mavx512vl -O2" } */
/* { dg-final { scan-assembler "vpdpwssd\t" } } */
/* { dg-final { scan-assembler "vpdpbusd\t" } } */
/* { dg-final { scan-assembler-not "vpmaddwd\t" } } */
int __attribute__((noinline, noclone, optimize("tree-vectorize")))
sdot_prod_hi (short * restrict a, short * restrict b,
int c, int n)
{
int i;
for (i = 0; i < n; i++)
{
c += ((int) a[i] * (int) b[i]);
}
return c;
}
int __attribute__((noinline, noclone, optimize("tree-vectorize")))
usdot_prod_qi (unsigned char * restrict a, char *restrict b,
int c, int n)
{
int i;
for (i = 0; i < n; i++)
{
c += ((int) a[i] * (int) b[i]);
}
return c;
}