(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
general/
pnext_2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include <arm_sve.h>
       5  
       6  void
       7  test1 (svbool_t pg, svbool_t prev, int *last, svbool_t *ptr)
       8  {
       9    svbool_t res = svpnext_b16 (pg, prev);
      10    *last = svptest_last (pg, res);
      11    *ptr = res;
      12  }
      13  
      14  int
      15  test2 (svbool_t pg, svbool_t prev)
      16  {
      17    svbool_t res = svpnext_b16 (pg, prev);
      18    return svptest_last (pg, res);
      19  }
      20  
      21  void
      22  test3 (svbool_t pg, svbool_t prev, int *last, svbool_t *ptr)
      23  {
      24    svbool_t res = svpnext_b32 (pg, prev);
      25    *last = svptest_last (pg, res);
      26    *ptr = res;
      27  }
      28  
      29  int
      30  test4 (svbool_t pg, svbool_t prev)
      31  {
      32    svbool_t res = svpnext_b32 (pg, prev);
      33    return svptest_last (pg, res);
      34  }
      35  
      36  void
      37  test5 (svbool_t pg, svbool_t prev, int *last, svbool_t *ptr)
      38  {
      39    svbool_t res = svpnext_b64 (pg, prev);
      40    *last = svptest_last (pg, res);
      41    *ptr = res;
      42  }
      43  
      44  int
      45  test6 (svbool_t pg, svbool_t prev)
      46  {
      47    svbool_t res = svpnext_b64 (pg, prev);
      48    return svptest_last (pg, res);
      49  }
      50  
      51  /* { dg-final { scan-assembler-times {\tpnext\t} 6 } } */
      52  /* { dg-final { scan-assembler-times {\tptest\t} 6 } } */