Commit 4a84df4ae9d33bb766fb34ce8a871d84d6e0ed9c

Martin Bektchiev 2018-10-31T15:53:54

Fix Q registers parameter passing on ARM64 The second two quads are located at offset 32 not 16

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff --git a/src/aarch64/ffi.c b/src/aarch64/ffi.c
index 4400b61..c48c549 100644
--- a/src/aarch64/ffi.c
+++ b/src/aarch64/ffi.c
@@ -350,10 +350,10 @@ extend_hfa_type (void *dest, void *src, int h)
 "	b	1f\n"
 "	nop\n"
 "	ldp	q16, q17, [%3]\n"	/* Q4 */
-"	ldp	q18, q19, [%3, #16]\n"
+"	ldp	q18, q19, [%3, #32]\n"
 "	b	4f\n"
 "	ldp	q16, q17, [%3]\n"	/* Q3 */
-"	ldr	q18, [%3, #16]\n"
+"	ldr	q18, [%3, #32]\n"
 "	b	3f\n"
 "	ldp	q16, q17, [%3]\n"	/* Q2 */
 "	b	2f\n"