1  /*
       2   Test the least significant bit by byte instruction
       3      xvtlsbb BF,XB
       4   Using the builtins
       5      int vec_test_lsbb_all_zeros (vector unsigned char);
       6      int vec_test_lsbb_all_ones (vector unsigned char);
       7   */
       8  
       9  /* { dg-require-effective-target power10_ok } */
      10  /* { dg-options "-fno-inline -mdejagnu-cpu=power10 -O2" } */
      11  
      12  /* { dg-final { scan-assembler-times {\mxvtlsbb\M} 2 } } */
      13  /* { dg-final { scan-assembler-times {\msetbc\M} 2 } } */
      14  
      15  #include <altivec.h>
      16  
      17  int test_for_zeros(vector char vc) {
      18    return vec_test_lsbb_all_zeros(vc);
      19  }
      20  
      21  int test_for_ones(vector char vc) {
      22    return vec_test_lsbb_all_ones(vc);
      23  }
      24