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
       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_z (pg);
      14    *fault = svptest_any (pg, 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} } } */