Commit 7ba1434c authored by Martin Storsjö's avatar Martin Storsjö Committed by Niels Möller

win64: Correctly read the fifth parameter from the stack if we've pushed xmm registers

This fixes the umac test on win64.
parent 2c508beb
......@@ -7,7 +7,9 @@
within this subfunction.
* x86_64/machine.m4 (W64_ENTRY): Use movdqu instead of movdqa for
saving xmm registers, since the stack is not guaranteed to be
16-byte aligned on win64.
16-byte aligned on win64. Take pushed xmm registers into account
when reading the fifth parameter from the stack.
* Makefile.in: Consistently use EXEEXT_FOR_BUILD.
2013-04-21 Niels Möller <nisse@lysator.liu.se>
......
......@@ -67,7 +67,7 @@ define(<XREG>,<ifelse(
dnl W64_ENTRY(nargs, xmm_used)
define(<W64_ENTRY>, <
changequote([,])dnl
ifelse(<<<<<<<<<<<<<<< ignored; only for balancing)
ifelse(<<<<<<<<<<<<<<<< ignored; only for balancing)
ifelse(W64_ABI,yes,[
ifelse(eval($2 > 6), 1, [
sub [$]eval(8 + 16*($2 - 6)), %rsp
......@@ -115,7 +115,11 @@ define(<W64_ENTRY>, <
mov %r9, %rcx
])
ifelse(eval($1 >= 5), 1, [
mov 56(%rsp), %r8
ifelse(eval($2 > 6), 1, [
mov eval(8 + 16*($2 - 6) + 56)(%rsp), %r8
], [
mov 56(%rsp), %r8
])
])
])
changequote(<,>)dnl
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment