1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include <arm_sve.h>
       5  
       6  /* { dg-final { scan-assembler-not {\twhilele\t} } } */
       7  /* { dg-final { scan-assembler-not {\twhilelt\t} } } */
       8  /* { dg-final { scan-assembler-not {\tptrue\t} } } */
       9  
      10  void
      11  test1 (svbool_t *ptr)
      12  {
      13    *ptr = svwhilelt_b32_s32 (0, 0);
      14  }
      15  
      16  void
      17  test2 (svbool_t *ptr)
      18  {
      19    *ptr = svwhilelt_b16_s64 (50, -1);
      20  }
      21  
      22  void
      23  test3 (svbool_t *ptr)
      24  {
      25    *ptr = svwhilelt_b16_s32 (0x7ffffffb, 0x80000000);
      26  }
      27  
      28  void
      29  test4 (svbool_t *ptr)
      30  {
      31    *ptr = svwhilelt_b8_s64 (svcntb (), svcntb ());
      32  }
      33  
      34  void
      35  test5 (svbool_t *ptr)
      36  {
      37    *ptr = svwhilelt_b8_s64 (svcntb (), svcntw ());
      38  }
      39  
      40  /* { dg-final { scan-assembler-times {\tpfalse\tp[0-7]\.b\n} 5 } } */