(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
simd/
vcls_unsigned_1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O" } */
       3  
       4  #include <arm_neon.h>
       5  
       6  int16x8_t
       7  test_16x8 (uint16x8_t a)
       8  {
       9    return vclsq_u16 (a);
      10  }
      11  
      12  /* { dg-final { scan-assembler-times "cls\\tv\[0-9\]+\.8h, v\[0-9\]+\.8h" 1 } } */
      13  
      14  
      15  int8x16_t
      16  test_8x16 (uint8x16_t a)
      17  {
      18    return vclsq_u8 (a);
      19  }
      20  
      21  /* { dg-final { scan-assembler-times "cls\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b" 1 } } */
      22  
      23  int32x4_t
      24  test_32x4 (uint32x4_t a)
      25  {
      26    return vclsq_u32 (a);
      27  }
      28  
      29  /* { dg-final { scan-assembler-times "cls\\tv\[0-9\]+\.4s, v\[0-9\]+\.4s" 1 } } */
      30  
      31  int16x4_t
      32  test_16x4 (uint16x4_t a)
      33  {
      34    return vcls_u16 (a);
      35  }
      36  
      37  /* { dg-final { scan-assembler-times "cls\\tv\[0-9\]+\.4h, v\[0-9\]+\.4h" 1 } } */
      38  
      39  int8x8_t
      40  test_8x8 (uint8x8_t a)
      41  {
      42    return vcls_u8 (a);
      43  }
      44  
      45  /* { dg-final { scan-assembler-times "cls\\tv\[0-9\]+\.8b, v\[0-9\]+\.8b" 1 } } */
      46  
      47  int32x2_t
      48  test32x2 (uint32x2_t a)
      49  {
      50    return vcls_u32 (a);
      51  }
      52  
      53  /* { dg-final { scan-assembler-times "cls\\tv\[0-9\]+\.2s, v\[0-9\]+\.2s" 1 } } */
      54