]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_2_256.c
aarch64: Treat p12-p15 as call-preserved in SVE PCS functions
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / aarch64 / sve / pcs / stack_clash_2_256.c
index f8318b354a0a8418c8d27e1e7fd2c82e63a8a792..6bcbb57725b8f8445594e56fef309acb3d216529 100644 (file)
@@ -10,10 +10,10 @@ svbool_t take_stack_args (volatile void *, void *, int, int, int,
 /*
 ** test_1:
 **     sub     sp, sp, #48
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     ...
 **     ptrue   p0\.b, vl32
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?48
 **     ret
 */
@@ -21,7 +21,7 @@ svbool_t
 test_1 (void)
 {
   volatile int x = 1;
-  asm volatile ("" ::: "p4");
+  asm volatile ("" ::: "z16");
   return svptrue_b8 ();
 }
 
@@ -30,10 +30,10 @@ test_1 (void)
 **     sub     sp, sp, #80
 **     stp     x24, x25, \[sp, 32\]
 **     str     x26, \[sp, 48\]
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     ...
 **     ptrue   p0\.b, vl32
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     ldp     x24, x25, \[sp, 32\]
 **     ldr     x26, \[sp, 48\]
 **     add     sp, sp, #?80
@@ -43,7 +43,7 @@ svbool_t
 test_2 (void)
 {
   volatile int x = 1;
-  asm volatile ("" ::: "p4", "x24", "x25", "x26");
+  asm volatile ("" ::: "z16", "x24", "x25", "x26");
   return svptrue_b8 ();
 }
 
@@ -53,10 +53,10 @@ test_2 (void)
 **     sub     sp, sp, x12
 **     stp     x24, x25, \[sp, 32\]
 **     str     x26, \[sp, 48\]
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     ...
 **     ptrue   p0\.b, vl32
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     ldp     x24, x25, \[sp, 32\]
 **     ldr     x26, \[sp, 48\]
 **     add     sp, sp, x12
@@ -66,17 +66,17 @@ svbool_t
 test_3 (void)
 {
   volatile int x[1024];
-  asm volatile ("" :: "r" (x) : "p4", "x24", "x25", "x26");
+  asm volatile ("" :: "r" (x) : "z16", "x24", "x25", "x26");
   return svptrue_b8 ();
 }
 
 /*
 ** test_4:
 **     sub     sp, sp, #64
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     ...
 **     ptrue   p0\.h, vl16
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?64
 **     ret
 */
@@ -85,7 +85,7 @@ test_4 (void)
 {
   volatile svint32_t b;
   b = svdup_s32 (1);
-  asm volatile ("" ::: "p4");
+  asm volatile ("" ::: "z16");
   return svptrue_b16 ();
 }
 
@@ -94,10 +94,10 @@ test_4 (void)
 **     sub     sp, sp, #96
 **     stp     x24, x25, \[sp, 32\]
 **     str     x26, \[sp, 48\]
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     ...
 **     ptrue   p0\.h, vl16
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     ldp     x24, x25, \[sp, 32\]
 **     ldr     x26, \[sp, 48\]
 **     add     sp, sp, #?96
@@ -108,7 +108,7 @@ test_5 (void)
 {
   volatile svint32_t b;
   b = svdup_s32 (1);
-  asm volatile ("" ::: "p4", "x24", "x25", "x26");
+  asm volatile ("" ::: "z16", "x24", "x25", "x26");
   return svptrue_b16 ();
 }
 
@@ -117,11 +117,11 @@ test_5 (void)
 **     stp     x29, x30, \[sp, -16\]!
 **     mov     x29, sp
 **     sub     sp, sp, #32
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     ...
 **     ptrue   p0\.b, vl32
 **     add     sp, sp, #?16
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?32
 **     ldp     x29, x30, \[sp\], 16
 **     ret
@@ -130,7 +130,7 @@ svbool_t
 test_6 (void)
 {
   take_stack_args (0, 0, 1, 2, 3, 4, 5, 6, 7);
-  asm volatile ("" ::: "p4");
+  asm volatile ("" ::: "z16");
   return svptrue_b8 ();
 }
 
@@ -140,12 +140,12 @@ test_6 (void)
 **     sub     sp, sp, x12
 **     stp     x29, x30, \[sp, 32\]
 **     add     x29, sp, #?32
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     sub     sp, sp, #16
 **     ...
 **     ptrue   p0\.b, vl32
 **     add     sp, sp, #?16
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?32
 **     ldp     x29, x30, \[sp\]
 **     mov     x12, #?4112
@@ -157,7 +157,7 @@ test_7 (void)
 {
   volatile int x[1024];
   take_stack_args (x, 0, 1, 2, 3, 4, 5, 6, 7);
-  asm volatile ("" ::: "p4");
+  asm volatile ("" ::: "z16");
   return svptrue_b8 ();
 }
 
@@ -169,12 +169,12 @@ test_7 (void)
 **     add     x29, sp, #?32
 **     stp     x24, x25, \[sp, 48\]
 **     str     x26, \[sp, 64\]
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     sub     sp, sp, #16
 **     ...
 **     ptrue   p0\.b, vl32
 **     add     sp, sp, #?16
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?32
 **     ldp     x24, x25, \[sp, 16\]
 **     ldr     x26, \[sp, 32\]
@@ -188,7 +188,7 @@ test_8 (void)
 {
   volatile int x[1024];
   take_stack_args (x, 0, 1, 2, 3, 4, 5, 6, 7);
-  asm volatile ("" ::: "p4", "x24", "x25", "x26");
+  asm volatile ("" ::: "z16", "x24", "x25", "x26");
   return svptrue_b8 ();
 }
 
@@ -198,12 +198,12 @@ test_8 (void)
 **     sub     sp, sp, x12
 **     stp     x29, x30, \[sp, 32\]
 **     add     x29, sp, #?32
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     sub     sp, sp, #16
 **     ...
 **     ptrue   p0\.b, vl32
 **     sub     sp, x29, #32
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?32
 **     ldp     x29, x30, \[sp\]
 **     mov     x12, #?4112
@@ -215,7 +215,7 @@ test_9 (int n)
 {
   volatile int x[1024];
   take_stack_args (x, __builtin_alloca (n), 1, 2, 3, 4, 5, 6, 7);
-  asm volatile ("" ::: "p4");
+  asm volatile ("" ::: "z16");
   return svptrue_b8 ();
 }
 
@@ -227,12 +227,12 @@ test_9 (int n)
 **     add     x29, sp, #?32
 **     stp     x24, x25, \[sp, 48\]
 **     str     x26, \[sp, 64\]
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     sub     sp, sp, #16
 **     ...
 **     ptrue   p0\.b, vl32
 **     sub     sp, x29, #32
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?32
 **     ldp     x24, x25, \[sp, 16\]
 **     ldr     x26, \[sp, 32\]
@@ -246,7 +246,7 @@ test_10 (int n)
 {
   volatile int x[1024];
   take_stack_args (x, __builtin_alloca (n), 1, 2, 3, 4, 5, 6, 7);
-  asm volatile ("" ::: "p4", "x24", "x25", "x26");
+  asm volatile ("" ::: "z16", "x24", "x25", "x26");
   return svptrue_b8 ();
 }
 
@@ -260,12 +260,12 @@ test_10 (int n)
 **     add     x29, sp, #?32
 **     stp     x24, x25, \[sp, 48\]
 **     str     x26, \[sp, 64\]
-**     str     p4, \[sp\]
+**     str     z16, \[sp\]
 **     sub     sp, sp, #16
 **     ...
 **     ptrue   p0\.b, vl32
 **     sub     sp, x29, #32
-**     ldr     p4, \[sp\]
+**     ldr     z16, \[sp\]
 **     add     sp, sp, #?32
 **     ldp     x24, x25, \[sp, 16\]
 **     ldr     x26, \[sp, 32\]
@@ -279,6 +279,6 @@ test_11 (int n)
 {
   volatile int x[0x7ee4];
   take_stack_args (x, __builtin_alloca (n), 1, 2, 3, 4, 5, 6, 7);
-  asm volatile ("" ::: "p4", "x24", "x25", "x26");
+  asm volatile ("" ::: "z16", "x24", "x25", "x26");
   return svptrue_b8 ();
 }