Merge commit 'f1b3e131385176c3c9d9783b25047856a0dcebf6'
[ffmpeg.git] / tests / checkasm / aarch64 / checkasm.S
index f0a671e58d819f468c5c4c93dc85c5f184eb6efa..8e4f8c35e45acc9ea5e1848024f02a94a735e546 100644 (file)
@@ -52,6 +52,19 @@ endconst
 // max number of args used by any asm function.
 #define MAX_ARGS 15
 
+#define CLOBBER_STACK ((8*MAX_ARGS + 15) & ~15)
+
+function checkasm_stack_clobber, export=1
+    mov         x29, sp
+    mov         x2,  #CLOBBER_STACK
+1:
+    stp         x0,  x1,  [sp, #-16]!
+    subs        x2,  x2,  #16
+    b.gt        1b
+    mov         sp,  x29
+    ret
+endfunc
+
 #define ARG_STACK ((8*(MAX_ARGS - 8) + 15) & ~15)
 
 function checkasm_checked_call, export=1