summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/avx512bw-pr95488-1.c
blob: 594e511868d72b6b8be55e6e4278e421e1d7a524 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* PR target/95488  */
/* { dg-do compile } */
/* { dg-options "-O2 -mavx512bw" }  */
/* { dg-final { scan-assembler-times "vpmovzxbw" 4 } } */
/* { dg-final { scan-assembler-times "vpmullw\[^\n\]*zmm" 2 } } */
/* { dg-final { scan-assembler-times "vpmovwb" 2 } } */

typedef char v32qi __attribute__ ((vector_size (32)));
typedef unsigned char v32uqi __attribute__ ((vector_size (32)));

__attribute__((noipa)) v32qi
mul_512 (v32qi a, v32qi b)
{
  return  a * b;
}

__attribute__((noipa)) v32uqi
umul_512 (v32uqi a, v32uqi b)
{
  return  a * b;
}