1 /* { dg-do compile } */
2 /* { dg-options "-O -mlittle-endian -fno-stack-clash-protection -g" } */
3 /* { dg-final { check-function-bodies "**" "" "" { target lp64 } } } */
4
5 void standard_callee (__SVInt8_t *);
6
7 /*
8 ** calls_standard:
9 ** addvl sp, sp, #-1
10 ** (
11 ** stp x29, x30, \[sp, -16\]!
12 ** |
13 ** sub sp, sp, #?16
14 ** stp x29, x30, \[sp\]
15 ** )
16 ** mov x29, sp
17 ** addvl sp, sp, #-18
18 ** str p4, \[sp\]
19 ** str p5, \[sp, #1, mul vl\]
20 ** str p6, \[sp, #2, mul vl\]
21 ** str p7, \[sp, #3, mul vl\]
22 ** str p8, \[sp, #4, mul vl\]
23 ** str p9, \[sp, #5, mul vl\]
24 ** str p10, \[sp, #6, mul vl\]
25 ** str p11, \[sp, #7, mul vl\]
26 ** str p12, \[sp, #8, mul vl\]
27 ** str p13, \[sp, #9, mul vl\]
28 ** str p14, \[sp, #10, mul vl\]
29 ** str p15, \[sp, #11, mul vl\]
30 ** str z8, \[sp, #2, mul vl\]
31 ** str z9, \[sp, #3, mul vl\]
32 ** str z10, \[sp, #4, mul vl\]
33 ** str z11, \[sp, #5, mul vl\]
34 ** str z12, \[sp, #6, mul vl\]
35 ** str z13, \[sp, #7, mul vl\]
36 ** str z14, \[sp, #8, mul vl\]
37 ** str z15, \[sp, #9, mul vl\]
38 ** str z16, \[sp, #10, mul vl\]
39 ** str z17, \[sp, #11, mul vl\]
40 ** str z18, \[sp, #12, mul vl\]
41 ** str z19, \[sp, #13, mul vl\]
42 ** str z20, \[sp, #14, mul vl\]
43 ** str z21, \[sp, #15, mul vl\]
44 ** str z22, \[sp, #16, mul vl\]
45 ** str z23, \[sp, #17, mul vl\]
46 ** addvl x0, sp, #18
47 ** add x0, x0, #?16
48 ** bl standard_callee
49 ** ldr z8, \[sp, #2, mul vl\]
50 ** ldr z9, \[sp, #3, mul vl\]
51 ** ldr z10, \[sp, #4, mul vl\]
52 ** ldr z11, \[sp, #5, mul vl\]
53 ** ldr z12, \[sp, #6, mul vl\]
54 ** ldr z13, \[sp, #7, mul vl\]
55 ** ldr z14, \[sp, #8, mul vl\]
56 ** ldr z15, \[sp, #9, mul vl\]
57 ** ldr z16, \[sp, #10, mul vl\]
58 ** ldr z17, \[sp, #11, mul vl\]
59 ** ldr z18, \[sp, #12, mul vl\]
60 ** ldr z19, \[sp, #13, mul vl\]
61 ** ldr z20, \[sp, #14, mul vl\]
62 ** ldr z21, \[sp, #15, mul vl\]
63 ** ldr z22, \[sp, #16, mul vl\]
64 ** ldr z23, \[sp, #17, mul vl\]
65 ** ldr p4, \[sp\]
66 ** ldr p5, \[sp, #1, mul vl\]
67 ** ldr p6, \[sp, #2, mul vl\]
68 ** ldr p7, \[sp, #3, mul vl\]
69 ** ldr p8, \[sp, #4, mul vl\]
70 ** ldr p9, \[sp, #5, mul vl\]
71 ** ldr p10, \[sp, #6, mul vl\]
72 ** ldr p11, \[sp, #7, mul vl\]
73 ** ldr p12, \[sp, #8, mul vl\]
74 ** ldr p13, \[sp, #9, mul vl\]
75 ** ldr p14, \[sp, #10, mul vl\]
76 ** ldr p15, \[sp, #11, mul vl\]
77 ** addvl sp, sp, #18
78 ** (
79 ** ldp x29, x30, \[sp\], 16
80 ** addvl sp, sp, #1
81 ** |
82 ** ldp x29, x30, \[sp\]
83 ** addvl sp, sp, #1
84 ** add sp, sp, #?16
85 ** )
86 ** ret
87 */
calls_standard(__SVInt8_t x)88 void calls_standard (__SVInt8_t x) { __SVInt8_t tmp; standard_callee (&tmp); }
89