1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 #include <arm_sve.h>
5 
6 void
test1(int * last,svbool_t * ptr)7 test1 (int *last, svbool_t *ptr)
8 {
9   svbool_t res = svptrue_pat_b32 (SV_VL16);
10   *last = svptest_last (svptrue_b32 (), res);
11   *ptr = res;
12 }
13 
14 int
test2()15 test2 ()
16 {
17   svbool_t res = svptrue_pat_b32 (SV_VL16);
18   return svptest_last (svptrue_b32 (), res);
19 }
20 
21 /* { dg-final { scan-assembler-times {\tptrues\tp[0-9]+\.s, vl16\n} 2 } } */
22 /* { dg-final { scan-assembler-not {\tptrue\t} { xfail *-*-* } } } */
23 /* { dg-final { scan-assembler-not {\tptest\t} } } */
24