(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
vect-clz.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O3 -save-temps -fno-inline -fno-vect-cost-model" } */
       3  
       4  #pragma GCC target "+nosve"
       5  
       6  extern void abort ();
       7  
       8  void
       9  count_lz_v4si (unsigned *__restrict a, int *__restrict b)
      10  {
      11    int i;
      12  
      13    for (i = 0; i < 4; i++)
      14      b[i] = __builtin_clz (a[i]);
      15  }
      16  
      17  /* { dg-final { scan-assembler "clz\tv\[0-9\]+\.4s" } } */
      18  
      19  int
      20  main ()
      21  {
      22    unsigned int x[4] = { 0x0, 0xFFFF, 0x1FFFF, 0xFFFFFFFF };
      23    int r[4] = { 32, 16, 15, 0 };
      24    int d[4], i;
      25  
      26    count_lz_v4si (x, d);
      27  
      28    for (i = 0; i < 4; i++)
      29      {
      30        if (d[i] != r[i])
      31  	abort ();
      32      }
      33  
      34    return 0;
      35  }
      36