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