1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include <arm_sve.h>
       5  
       6  /* { dg-final { scan-assembler-not {\tptrue\t} } } */
       7  /* { dg-final { scan-assembler-not {\tpfalse\t} } } */
       8  
       9  void
      10  test1 (svbool_t *ptr)
      11  {
      12    *ptr = svwhilele_b32_s32 (-4, 0);
      13  }
      14  
      15  void
      16  test2 (svbool_t *ptr)
      17  {
      18    *ptr = svwhilele_b16_s64 (svcntb (), svcntb () + 8);
      19  }
      20  
      21  void
      22  test3 (svbool_t *ptr)
      23  {
      24    *ptr = svwhilele_b64_s32 (0, 2);
      25  }
      26  
      27  void
      28  test4 (svbool_t *ptr)
      29  {
      30    *ptr = svwhilele_b8_s64 (16, svcntb ());
      31  }
      32  
      33  /* { dg-final { scan-assembler-times {\twhilel[et]\t} 4 } } */