1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  typedef unsigned __attribute__((mode(DI))) uint64_t;
       5  
       6  struct S0 {
       7    uint64_t f1;
       8    uint64_t f2;
       9    uint64_t f3;
      10    uint64_t f4;
      11    uint64_t f5;
      12  } a;
      13  struct S2 {
      14    uint64_t f0;
      15    uint64_t f2;
      16    struct S0 f3;
      17  };
      18  
      19  void fn1 (struct S2 b) {
      20    a = b.f3;
      21  }
      22  
      23  /* { dg-final { scan-assembler-times {ldp\s+q[0-9]+} 1 } } */
      24  /* { dg-final { scan-assembler-times {stp\s+q[0-9]+} 1 } } */
      25  /* { dg-final { scan-assembler-not {ld[1-3]} } } */