1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_arm_ok } */
3 /* { dg-require-effective-target arm_ldrd_strd_ok } */
4 /* { dg-options "-marm -mno-unaligned-access -O3" } */
5
6 struct s {
7 int a, b;
8 } __attribute__((aligned(8)));
9
10 struct s f0;
11
f(int a,int b,int c,int d,int e,struct s f)12 void f(int a, int b, int c, int d, int e, struct s f)
13 {
14 f0 = f;
15 }
16
17 /* { dg-final { scan-assembler-times "ldrd" 0 } } */
18 /* { dg-final { scan-assembler-times "strd" 0 } } */
19 /* { dg-final { scan-assembler-times "stm" 1 } } */
20