| /* { dg-do compile } */ | |
| /* { dg-options "-O2" } */ | |
| typedef unsigned __attribute__((mode(DI))) uint64_t; | |
| struct S0 { | |
| uint64_t f1; | |
| uint64_t f2; | |
| uint64_t f3; | |
| uint64_t f4; | |
| uint64_t f5; | |
| } a; | |
| struct S2 { | |
| uint64_t f0; | |
| uint64_t f2; | |
| struct S0 f3; | |
| }; | |
| void fn1 (struct S2 b) { | |
| a = b.f3; | |
| } | |
| /* { dg-final { scan-assembler-times {ldp\s+q[0-9]+} 1 } } */ | |
| /* { dg-final { scan-assembler-times {stp\s+q[0-9]+} 1 } } */ | |
| /* { dg-final { scan-assembler-not {ld[1-3]} } } */ |