1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-require-effective-target masm_intel } */
3 /* { dg-options "-O2 -mamx-int8 -masm=intel" } */
4 /* { dg-final { scan-assembler "tdpbssd\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3" } } */
5 /* { dg-final { scan-assembler "tdpbsud\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3" } } *
6 /* { dg-final { scan-assembler "tdpbusd\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3" } } */
7 /* { dg-final { scan-assembler "tdpbuud\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3" } } */
8 #include <immintrin.h>
9
10 void TEST ()
11 {
12 _tile_dpbssd (1, 2, 3);
13 _tile_dpbsud (1, 2, 3);
14 _tile_dpbusd (1, 2, 3);
15 _tile_dpbuud (1, 2, 3);
16 }