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" } } */ 13 14 #include <x86intrin.h> 15 16 unsigned int func_bextri32(unsigned int X)17func_bextri32 (unsigned int X) 18 { 19 return __bextri_u32 (X, 0x101); 20 } 21 22 unsigned int func_blcfill32(unsigned int X)23func_blcfill32 (unsigned int X) 24 { 25 return __blcfill_u32 (X); 26 } 27 28 unsigned int func_blci32(unsigned int X)29func_blci32 (unsigned int X) 30 { 31 return __blci_u32 (X); 32 } 33 34 unsigned int func_blcic32(unsigned int X)35func_blcic32 (unsigned int X) 36 { 37 return __blcic_u32 (X); 38 } 39 40 unsigned int func_blcmsk32(unsigned int X)41func_blcmsk32 (unsigned int X) 42 { 43 return __blcmsk_u32 (X); 44 } 45 46 unsigned int func_blcs32(unsigned int X)47func_blcs32 (unsigned int X) 48 { 49 return __blcs_u32 (X); 50 } 51 52 unsigned int func_blsfill32(unsigned int X)53func_blsfill32 (unsigned int X) 54 { 55 return __blsfill_u32 (X); 56 } 57 58 unsigned int func_blsic32(unsigned int X)59func_blsic32 (unsigned int X) 60 { 61 return __blsic_u32 (X); 62 } 63 64 unsigned int func_t1mskc32(unsigned int X)65func_t1mskc32 (unsigned int X) 66 { 67 return __t1mskc_u32 (X); 68 } 69 70 unsigned int func_tzmsk32(unsigned int X)71func_tzmsk32 (unsigned int X) 72 { 73 return __tzmsk_u32 (X); 74 } 75