blob: dc684a167c8ebebe399aebf5ef9885d7fcd571f0 [file] [log] [blame]
/* PR target/pr95488 */
/* { dg-do compile } */
/* { dg-options "-O2 -mavx512bw -mavx512vl" } */
/* { dg-final { scan-assembler-times "vpmovzxbw" 8 { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-times "vpmullw\[^\n\]*ymm" 2 } } */
/* { dg-final { scan-assembler-times "vpmullw\[^\n\]*xmm" 2 { target { ! ia32 } } } } */
/* { dg-final { scan-assembler-times "vpmovwb" 4 { target { ! ia32 } } } } */
typedef char v16qi __attribute__ ((vector_size (16)));
typedef char v8qi __attribute__ ((vector_size (8)));
typedef unsigned char v16uqi __attribute__ ((vector_size (16)));
typedef unsigned char v8uqi __attribute__ ((vector_size (8)));
__attribute__((noipa)) v8qi
mul_128 (v8qi a, v8qi b)
{
return a * b;
}
__attribute__((noipa)) v16qi
mul_256 (v16qi a, v16qi b)
{
return a * b;
}
__attribute__((noipa)) v8uqi
umul_128 (v8uqi a, v8uqi b)
{
return a * b;
}
__attribute__((noipa)) v16uqi
umul_256 (v16uqi a, v16uqi b)
{
return a * b;
}