(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
general/
ldff1_3.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  #include <arm_sve.h>
       5  
       6  /* Make sure that LDFF1s can be reordered.  The load of x should come due
       7     to its longer dependence chain.  */
       8  svint8_t
       9  foo (int8_t *ptr1, int8_t *ptr2)
      10  {
      11    svsetffr ();
      12    svbool_t pg = svptrue_b8 ();
      13    svint8_t y = svldff1 (pg, ptr2);
      14    svint8_t x = svldff1 (pg, ptr1);
      15    x = svadd_x (pg, x, x);
      16    x = svmul_x (pg, x, x);
      17    x = svadd_x (pg, x, y);
      18    return x;
      19  }
      20  
      21  /* { dg-final { scan-assembler {\tldff1b\tz[0-9]+\.b, p[0-7]/z, \[x0\]\n.*\tldff1b\tz[0-9]+\.b, p[0-7]/z, \[x1\]\n} } } */