1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include <arm_sve.h>
       5  
       6  /* Make sure that RDFFR comes after the LDFF1 and that the RDFFRs can
       7     be CSEd.  */
       8  svint8_t
       9  foo (svbool_t pg, int8_t *__restrict ptr,
      10       svbool_t *__restrict *__restrict preds)
      11  {
      12    svsetffr ();
      13    svint8_t x = svldff1 (pg, ptr);
      14    *preds[0] = svrdffr ();
      15    *preds[1] = svrdffr ();
      16    return x;
      17  }
      18  
      19  /* { dg-final { scan-assembler {\tsetffr\n.*\tldff1b\t.*\trdffr\t} } } */
      20  /* { dg-final { scan-assembler-times {\trdffr\t} 1 } } */