mirror of https://git.ffmpeg.org/ffmpeg.git
x86inc: allow manual use of WIN64_SPILL_XMM.
Functions using INIT_MMX may still access XMM registers through direct means (xmm0-15). Therefore, they still need to be marked for clobber so they can be properly saved/restored. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This commit is contained in:
parent
314af0ff94
commit
9cf7385309
|
@ -290,7 +290,11 @@ DECLARE_REG 6, rax, eax, ax, al, [rsp + stack_offset + 56]
|
|||
push r5
|
||||
%assign stack_offset stack_offset+16
|
||||
%endif
|
||||
WIN64_SPILL_XMM %3
|
||||
%if mmsize == 8
|
||||
%assign xmm_regs_used 0
|
||||
%else
|
||||
WIN64_SPILL_XMM %3
|
||||
%endif
|
||||
LOAD_IF_USED 4, %1
|
||||
LOAD_IF_USED 5, %1
|
||||
LOAD_IF_USED 6, %1
|
||||
|
@ -299,9 +303,6 @@ DECLARE_REG 6, rax, eax, ax, al, [rsp + stack_offset + 56]
|
|||
|
||||
%macro WIN64_SPILL_XMM 1
|
||||
%assign xmm_regs_used %1
|
||||
%if mmsize == 8
|
||||
%assign xmm_regs_used 0
|
||||
%endif
|
||||
ASSERT xmm_regs_used <= 16
|
||||
%if xmm_regs_used > 6
|
||||
sub rsp, (xmm_regs_used-6)*16+16
|
||||
|
|
Loading…
Reference in New Issue