]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/aarch64/sve/pcs/saves_1_be_wrap.c
1 /* { dg-do compile } */
2 /* { dg-options "-O -mbig-endian -fshrink-wrap -fno-stack-clash-protection -g" } */
3 /* { dg-final { check-function-bodies "**" "" } } */
5 #pragma GCC aarch64 "arm_sve.h"
11 ** str p5, \[sp, #1, mul vl\]
12 ** str p6, \[sp, #2, mul vl\]
13 ** str p7, \[sp, #3, mul vl\]
14 ** str p8, \[sp, #4, mul vl\]
15 ** str p9, \[sp, #5, mul vl\]
16 ** str p10, \[sp, #6, mul vl\]
17 ** str p11, \[sp, #7, mul vl\]
18 ** str p12, \[sp, #8, mul vl\]
19 ** str p13, \[sp, #9, mul vl\]
20 ** str p14, \[sp, #10, mul vl\]
21 ** str p15, \[sp, #11, mul vl\]
23 ** st1d z8\.d, p1, \[sp, #2, mul vl\]
24 ** st1d z9\.d, p1, \[sp, #3, mul vl\]
25 ** st1d z10\.d, p1, \[sp, #4, mul vl\]
26 ** st1d z11\.d, p1, \[sp, #5, mul vl\]
27 ** st1d z12\.d, p1, \[sp, #6, mul vl\]
28 ** st1d z13\.d, p1, \[sp, #7, mul vl\]
30 ** st1d z14\.d, p1, \[x11, #-8, mul vl\]
31 ** st1d z15\.d, p1, \[x11, #-7, mul vl\]
32 ** str z16, \[sp, #10, mul vl\]
33 ** str z17, \[sp, #11, mul vl\]
34 ** str z18, \[sp, #12, mul vl\]
35 ** str z19, \[sp, #13, mul vl\]
36 ** str z20, \[sp, #14, mul vl\]
37 ** str z21, \[sp, #15, mul vl\]
38 ** str z22, \[sp, #16, mul vl\]
39 ** str z23, \[sp, #17, mul vl\]
42 ** ld1d z8\.d, p1/z, \[sp, #2, mul vl\]
43 ** ld1d z9\.d, p1/z, \[sp, #3, mul vl\]
44 ** ld1d z10\.d, p1/z, \[sp, #4, mul vl\]
45 ** ld1d z11\.d, p1/z, \[sp, #5, mul vl\]
46 ** ld1d z12\.d, p1/z, \[sp, #6, mul vl\]
47 ** ld1d z13\.d, p1/z, \[sp, #7, mul vl\]
49 ** ld1d z14\.d, p1/z, \[x11, #-8, mul vl\]
50 ** ld1d z15\.d, p1/z, \[x11, #-7, mul vl\]
51 ** ldr z16, \[sp, #10, mul vl\]
52 ** ldr z17, \[sp, #11, mul vl\]
53 ** ldr z18, \[sp, #12, mul vl\]
54 ** ldr z19, \[sp, #13, mul vl\]
55 ** ldr z20, \[sp, #14, mul vl\]
56 ** ldr z21, \[sp, #15, mul vl\]
57 ** ldr z22, \[sp, #16, mul vl\]
58 ** ldr z23, \[sp, #17, mul vl\]
60 ** ldr p5, \[sp, #1, mul vl\]
61 ** ldr p6, \[sp, #2, mul vl\]
62 ** ldr p7, \[sp, #3, mul vl\]
63 ** ldr p8, \[sp, #4, mul vl\]
64 ** ldr p9, \[sp, #5, mul vl\]
65 ** ldr p10, \[sp, #6, mul vl\]
66 ** ldr p11, \[sp, #7, mul vl\]
67 ** ldr p12, \[sp, #8, mul vl\]
68 ** ldr p13, \[sp, #9, mul vl\]
69 ** ldr p14, \[sp, #10, mul vl\]
70 ** ldr p15, \[sp, #11, mul vl\]
78 "z0", "z1", "z2", "z3", "z4", "z5", "z6", "z7",
79 "z8", "z9", "z10", "z11", "z12", "z13", "z14", "z15",
80 "z16", "z17", "z18", "z19", "z20", "z21", "z22", "z23",
81 "z24", "z25", "z26", "z27", "z28", "z29", "z30", "z31",
82 "p0", "p1", "p2", "p3", "p4", "p5", "p6", "p7",
83 "p8", "p9", "p10", "p11", "p12", "p13", "p14", "p15");
96 "z0", "z1", "z2", "z3", "z4", "z5", "z6", "z7",
97 "z24", "z25", "z26", "z27", "z28", "z29", "z30", "z31",
98 "p0", "p1", "p2", "p3");
106 ** str p6, \[sp, #1, mul vl\]
107 ** str p11, \[sp, #2, mul vl\]
109 ** st1d z8\.d, p1, \[sp, #1, mul vl\]
110 ** st1d z13\.d, p1, \[sp, #2, mul vl\]
111 ** str z19, \[sp, #3, mul vl\]
112 ** str z20, \[sp, #4, mul vl\]
113 ** str z22, \[sp, #5, mul vl\]
116 ** ld1d z8\.d, p1/z, \[sp, #1, mul vl\]
117 ** ld1d z13\.d, p1/z, \[sp, #2, mul vl\]
118 ** ldr z19, \[sp, #3, mul vl\]
119 ** ldr z20, \[sp, #4, mul vl\]
120 ** ldr z22, \[sp, #5, mul vl\]
122 ** ldr p6, \[sp, #1, mul vl\]
123 ** ldr p11, \[sp, #2, mul vl\]
131 "z8", "z13", "z19", "z20", "z22",
133 return svptrue_b8 ();
148 asm volatile ("" ::: "p4");
149 return svptrue_b8 ();
156 ** st1d z15\.d, p1, \[sp\]
159 ** ld1d z15\.d, p1/z, \[sp\]
166 asm volatile ("" ::: "z15");
167 return svptrue_b8 ();
175 ** st1d z15\.d, p4, \[sp, #1, mul vl\]
178 ** ld1d z15\.d, p4/z, \[sp, #1, mul vl\]
184 test_6 (svbool_t p0
, svbool_t p1
, svbool_t p2
, svbool_t p3
)
186 asm volatile ("" :: "Upa" (p0
), "Upa" (p1
), "Upa" (p2
), "Upa" (p3
) : "z15");
202 asm volatile ("" ::: "z16");
203 return svptrue_b8 ();