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