PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / tbm-2.c
blob47a933ad655f420b4476ba343869a1f11a9b0764
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" } } */
14 #include <x86intrin.h>
16 unsigned long long
17 func_bextri64 (unsigned long long X)
19 return __bextri_u64 (X, 0x101);
22 unsigned long long
23 func_blcfill64 (unsigned long long X)
25 return __blcfill_u64 (X);
28 unsigned long long
29 func_blci64 (unsigned long long X)
31 return __blci_u64 (X);
34 unsigned long long
35 func_blcic64 (unsigned long long X)
37 return __blcic_u64 (X);
40 unsigned long long
41 func_blcmsk64 (unsigned long long X)
43 return __blcmsk_u64 (X);
46 unsigned long long
47 func_blcs64 (unsigned long long X)
49 return __blcs_u64 (X);
52 unsigned long long
53 func_blsfill64 (unsigned long long X)
55 return __blsfill_u64 (X);
58 unsigned long long
59 func_blsic64 (unsigned long long X)
61 return __blsic_u64 (X);
64 unsigned long long
65 func_t1mskc64 (unsigned long long X)
67 return __t1mskc_u64 (X);
70 unsigned long long
71 func_tzmsk64 (unsigned long long X)
73 return __tzmsk_u64 (X);