1 /* Test AAPCS layout (alignment) for callee.  */
2 
3 /* { dg-do run { target aarch64*-*-* } } */
4 
5 extern void abort (void);
6 
7 typedef __attribute__ ((__aligned__ (8))) int alignedint;
8 
9 alignedint a = 11;
10 alignedint b = 13;
11 alignedint c = 17;
12 alignedint d = 19;
13 alignedint e = 23;
14 alignedint f = 29;
15 alignedint g = 31;
16 alignedint h = 37;
17 alignedint i = 41;
18 alignedint j = 43;
19 
20 void
test_passing_many_alignedint(alignedint x0,alignedint x1,alignedint x2,alignedint x3,alignedint x4,alignedint x5,alignedint x6,alignedint x7,alignedint stack,alignedint stack8)21 test_passing_many_alignedint (alignedint x0, alignedint x1, alignedint x2,
22 			      alignedint x3, alignedint x4, alignedint x5,
23 			      alignedint x6, alignedint x7, alignedint stack,
24 			      alignedint stack8)
25 {
26   if (x0 != a
27       || x1 != b
28       || x2 != c
29       || x3 != d
30       || x4 != e
31       || x5 != f
32       || x6 != g
33       || x7 != h
34       || stack != i
35       || stack8 !=j)
36     abort ();
37 }
38 
39 int
main(int argc,char ** argv)40 main (int argc, char **argv)
41 {
42   test_passing_many_alignedint (a, b, c, d, e, f, g, h, i, j);
43   return 0;
44 }
45