summaryrefslogtreecommitdiff
path: root/src/aarch64
diff options
context:
space:
mode:
authorMartin Bektchiev <martin.bektchiev@progress.com>2018-10-31 15:53:54 +0200
committerMartin Bektchiev <martin.bektchiev@progress.com>2018-10-31 16:25:05 +0200
commit4a84df4ae9d33bb766fb34ce8a871d84d6e0ed9c (patch)
tree647d280f727664d214ddf8545e0ad8f5dc72f68b /src/aarch64
parenta5ea7527cda8d9b7d011eb4004dfcbad54583bd2 (diff)
downloadlibffi-4a84df4ae9d33bb766fb34ce8a871d84d6e0ed9c.tar.gz
Fix Q registers parameter passing on ARM64
The second two quads are located at offset 32 not 16
Diffstat (limited to 'src/aarch64')
-rw-r--r--src/aarch64/ffi.c4
1 files changed, 2 insertions, 2 deletions
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"