1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O2 -mtbm" } */
3 /* { dg-final { scan-assembler "bextr\[^\\n]*(%|)rax" } } */
4 /* { dg-final { scan-assembler "blcfill\[^\\n]*(%|)rax" } } */
5 /* { dg-final { scan-assembler "blci\[^\\n]*(%|)rax" } } */
6 /* { dg-final { scan-assembler "blcic\[^\\n]*(%|)rax" } } */
7 /* { dg-final { scan-assembler "blcmsk\[^\\n]*(%|)rax" } } */
8 /* { dg-final { scan-assembler "blcs\[^\\n]*(%|)rax" } } */
9 /* { dg-final { scan-assembler "blsfill\[^\\n]*(%|)rax" } } */
10 /* { dg-final { scan-assembler "blsic\[^\\n]*(%|)rax" } } */
11 /* { dg-final { scan-assembler "t1mskc\[^\\n]*(%|)rax" } } */
12 /* { dg-final { scan-assembler "tzmsk\[^\\n]*(%|)rax" } } */
13 
14 #include <x86intrin.h>
15 
16 unsigned long long
func_bextri64(unsigned long long X)17 func_bextri64 (unsigned long long X)
18 {
19   return __bextri_u64 (X, 0x101);
20 }
21 
22 unsigned long long
func_blcfill64(unsigned long long X)23 func_blcfill64 (unsigned long long X)
24 {
25   return __blcfill_u64 (X);
26 }
27 
28 unsigned long long
func_blci64(unsigned long long X)29 func_blci64 (unsigned long long X)
30 {
31   return __blci_u64 (X);
32 }
33 
34 unsigned long long
func_blcic64(unsigned long long X)35 func_blcic64 (unsigned long long X)
36 {
37   return __blcic_u64 (X);
38 }
39 
40 unsigned long long
func_blcmsk64(unsigned long long X)41 func_blcmsk64 (unsigned long long X)
42 {
43   return __blcmsk_u64 (X);
44 }
45 
46 unsigned long long
func_blcs64(unsigned long long X)47 func_blcs64 (unsigned long long X)
48 {
49   return __blcs_u64 (X);
50 }
51 
52 unsigned long long
func_blsfill64(unsigned long long X)53 func_blsfill64 (unsigned long long X)
54 {
55   return __blsfill_u64 (X);
56 }
57 
58 unsigned long long
func_blsic64(unsigned long long X)59 func_blsic64 (unsigned long long X)
60 {
61   return __blsic_u64 (X);
62 }
63 
64 unsigned long long
func_t1mskc64(unsigned long long X)65 func_t1mskc64 (unsigned long long X)
66 {
67   return __t1mskc_u64 (X);
68 }
69 
70 unsigned long long
func_tzmsk64(unsigned long long X)71 func_tzmsk64 (unsigned long long X)
72 {
73   return __tzmsk_u64 (X);
74 }
75