1  /* PR middle-end/101950 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -mno-lzcnt" } */
       4  /* { dg-final { scan-assembler-not "call\[^\n\r]*__clrsb.i2" } } */
       5  /* { dg-final { scan-assembler-times "\tbsr\[ql]\t" 2 } } */
       6  /* { dg-final { scan-assembler-times "\txor\[ql]\t" 4 } } */
       7  /* { dg-final { scan-assembler-times "\tor\[ql]\t" 2 } } */
       8  /* { dg-final { scan-assembler-times "\tsar\[ql]\t|\tcltd" 2 } } */
       9  
      10  int
      11  foo (long x)
      12  {
      13    return __builtin_clrsbl (x);
      14  }
      15  
      16  int
      17  bar (int x)
      18  {
      19    return __builtin_clrsb (x);
      20  }