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