1 /* { dg-options "-O2" } */
2
3 /* Check that we can use a REG + IMM addressing mode when moving an unaligned
4 TImode value to and from memory. */
5
6 struct foo
7 {
8 long long b;
9 __int128 a;
10 } __attribute__ ((packed));
11
12 void
13 bar (struct foo *p, struct foo *q)
14 {
15 p->a = q->a;
16 }
17
18 /* { dg-final { scan-assembler-not "add\tx\[0-9\]+, x\[0-9\]+" } } */
19 /* { dg-final { scan-assembler-times "ldp\tx\[0-9\]+, x\[0-9\], .*8" 1 } } */
20 /* { dg-final { scan-assembler-times "stp\tx\[0-9\]+, x\[0-9\], .*8" 1 } } */