diff dyncall/dyncall_call_arm64_masm.asm @ 371:451299d50c1a

- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster! - minor cleanups
author Tassilo Philipp
date Fri, 25 Dec 2020 18:07:39 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dyncall/dyncall_call_arm64_masm.asm	Fri Dec 25 18:07:39 2020 +0100
@@ -0,0 +1,42 @@
+; auto-generated by gen-masm.sh
+ AREA .text, CODE, ARM64
+ EXPORT dcCall_arm64
+dcCall_arm64 PROC
+ stp x29, x30, [sp, #-16]!
+ mov x29, sp
+ ldr d0, [x3,#0 ]
+ ldr d1, [x3,#8 ]
+ ldr d2, [x3,#16]
+ ldr d3, [x3,#24]
+ ldr d4, [x3,#32]
+ ldr d5, [x3,#40]
+ ldr d6, [x3,#48]
+ ldr d7, [x3,#56]
+ sub sp, sp, x2
+ eor x4, x4, x4
+ mov x5, x1
+ mov x6, sp
+dcCall_arm64_next
+ cmp x4, x2
+ b.ge dcCall_arm64_done
+ ldp x7, x9, [x5], #16
+ stp x7, x9, [x6], #16
+ add x4, x4, 16
+ b dcCall_arm64_next
+dcCall_arm64_done
+ mov x9 , x0
+ add x10, x3, 64
+ ldr x0, [x10, #0]
+ ldr x1, [x10, #8]
+ ldr x2, [x10, #16]
+ ldr x3, [x10, #24]
+ ldr x4, [x10, #32]
+ ldr x5, [x10, #40]
+ ldr x6, [x10, #48]
+ ldr x7, [x10, #56]
+ blr x9
+ mov sp, x29
+ ldp x29, x30, [sp], 16
+ ret
+ ENDP
+ END