(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
ldp_stp_8.c
       1  /* { dg-options "-O2" } */
       2  
       3  typedef float __attribute__ ((vector_size (8))) fvec;
       4  typedef int __attribute__ ((vector_size (8))) ivec;
       5  
       6  struct pair
       7  {
       8    double a;
       9    fvec b;
      10  };
      11  
      12  void ldp (double *a, fvec *b, struct pair *p)
      13  {
      14    *a = p->a + 1;
      15    *b = p->b;
      16  }
      17  
      18  struct vec_pair
      19  {
      20    fvec a;
      21    ivec b;
      22  };
      23  
      24  void ldp2 (fvec *a, ivec *b, struct vec_pair *p)
      25  {
      26    *a = p->a;
      27    *b = p->b;
      28  }
      29  
      30  /* { dg-final { scan-assembler-times "ldp\td\[0-9\], d\[0-9\]+, \\\[x\[0-9\]+\\\]" 2 } } */