1 /* This is a copy of pr71727.c with scanning reversed. */
2 /* { dg-do compile } */
3 /* { dg-options "-mstrict-align -O3 -mno-strict-align" } */
4
5 struct test_struct_s
6 {
7 long a;
8 long b;
9 long c;
10 long d;
11 unsigned long e;
12 };
13
14
15 char _a;
16 struct test_struct_s xarray[128];
17
18 void
19 _start (void)
20 {
21 struct test_struct_s *new_entry;
22
23 new_entry = &xarray[0];
24 new_entry->a = 1;
25 new_entry->b = 2;
26 new_entry->c = 3;
27 new_entry->d = 4;
28 new_entry->e = 5;
29
30 return;
31 }
32 /* Should have only 1 mov instead of 5 and should not use stp (store pair). */
33 /* { dg-final { scan-assembler-times "mov\tx" 1 {target lp64} } } */
34 /* { dg-final { scan-assembler-not "stp\tx\[0-9\]+, x\[0-9\]+," {target lp64} } } */