1 /* { dg-do compile } */ 2 /* { dg-options "-O2" } */ 3 4 #include <arm_sve.h> 5 6 void test1(svbool_t pg,int * last,svbool_t * ptr)7test1 (svbool_t pg, int *last, svbool_t *ptr) 8 { 9 svbool_t res = svpfirst (pg, svpfalse ()); 10 *last = svptest_last (pg, res); 11 *ptr = res; 12 } 13 14 int test2(svbool_t pg)15test2 (svbool_t pg) 16 { 17 svbool_t res = svpfirst (pg, svpfalse ()); 18 return svptest_last (pg, res); 19 } 20 21 /* { dg-final { scan-assembler-times {\tpfirst\t} 2 } } */ 22 /* { dg-final { scan-assembler-not {\tptest\t} } } */ 23