(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
while_10.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -ftree-vectorize -msve-vector-bits=512" } */
       3  
       4  #include <stdint.h>
       5  
       6  #define ADD_LOOP(TYPE, COUNT)			\
       7    TYPE __attribute__ ((noinline, noclone))	\
       8    vec_while_##TYPE (TYPE *restrict a)		\
       9    {						\
      10      for (int i = 0; i < COUNT; ++i)	       	\
      11        a[i] += 1;				\
      12    }
      13  
      14  #define TEST_ALL(T)				\
      15    T (int8_t, 63)				\
      16    T (int16_t, 30)				\
      17    T (int32_t, 15)				\
      18    T (int64_t, 6)
      19  
      20  TEST_ALL (ADD_LOOP)
      21  
      22  /* { dg-final { scan-assembler-times {\tptrue\tp[0-7]\.b, mul3\n} 1 } } */
      23  /* { dg-final { scan-assembler-times {\tptrue\tp[0-7]\.h, mul3\n} 1 } } */
      24  /* { dg-final { scan-assembler-times {\tptrue\tp[0-7]\.s, mul3\n} 1 } } */
      25  /* { dg-final { scan-assembler-times {\tptrue\tp[0-7]\.d, vl6\n} 1 } } */