1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mtbm" } */
3 /* { dg-final { scan-assembler "bextr\[^\\n]*(%|)eax" } } */
4 /* { dg-final { scan-assembler "blcfill\[^\\n]*(%|)eax" } } */
5 /* { dg-final { scan-assembler "blci\[^\\n]*(%|)eax" } } */
6 /* { dg-final { scan-assembler "blcic\[^\\n]*(%|)eax" } } */
7 /* { dg-final { scan-assembler "blcmsk\[^\\n]*(%|)eax" } } */
8 /* { dg-final { scan-assembler "blcs\[^\\n]*(%|)eax" } } */
9 /* { dg-final { scan-assembler "blsfill\[^\\n]*(%|)eax" } } */
10 /* { dg-final { scan-assembler "blsic\[^\\n]*(%|)eax" } } */
11 /* { dg-final { scan-assembler "t1mskc\[^\\n]*(%|)eax" } } */
12 /* { dg-final { scan-assembler "tzmsk\[^\\n]*(%|)eax" } } */
14 #include <x86intrin.h>
17 func_bextri32 (unsigned int X
)
19 return __bextri_u32 (X
, 0x101);
23 func_blcfill32 (unsigned int X
)
25 return __blcfill_u32 (X
);
29 func_blci32 (unsigned int X
)
31 return __blci_u32 (X
);
35 func_blcic32 (unsigned int X
)
37 return __blcic_u32 (X
);
41 func_blcmsk32 (unsigned int X
)
43 return __blcmsk_u32 (X
);
47 func_blcs32 (unsigned int X
)
49 return __blcs_u32 (X
);
53 func_blsfill32 (unsigned int X
)
55 return __blsfill_u32 (X
);
59 func_blsic32 (unsigned int X
)
61 return __blsic_u32 (X
);
65 func_t1mskc32 (unsigned int X
)
67 return __t1mskc_u32 (X
);
71 func_tzmsk32 (unsigned int X
)
73 return __tzmsk_u32 (X
);