1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 #include <arm_sve.h>
5 
6 /* Make sure that we can use RDFFRS to read the FFR while testing for a
7    fault.  */
8 svint8_t
foo(svbool_t pg,int8_t * ptr,svbool_t * pred,int * fault)9 foo (svbool_t pg, int8_t *ptr, svbool_t *pred, int *fault)
10 {
11   svsetffr ();
12   svint8_t x = svldff1 (pg, ptr);
13   svbool_t ffr = svrdffr ();
14   *fault = svptest_any (svptrue_b8 (), ffr);
15   *pred = ffr;
16   return x;
17 }
18 
19 /* { dg-final { scan-assembler {\tsetffr\n.*\tldff1b\t.*\trdffrs\t} } } */
20 /* { dg-final { scan-assembler-not {\trdffr\t} } } */
21