projects
/
platform
/
upstream
/
libav.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e920035
)
imdct36: mark SSE functions as using all 16 XMM registers.
author
Ronald S. Bultje
<rsbultje@gmail.com>
Sun, 29 Jan 2012 16:14:05 +0000
(08:14 -0800)
committer
Ronald S. Bultje
<rsbultje@gmail.com>
Sun, 29 Jan 2012 16:14:05 +0000
(08:14 -0800)
On x86-64, it indeed uses all 16 registers (and on x86-32, this gets
clipped to 8). Not marking it properly causes callers of this function
to fail randomly because of XMM register clobbering.
libavcodec/x86/imdct36_sse.asm
patch
|
blob
|
history
diff --git
a/libavcodec/x86/imdct36_sse.asm
b/libavcodec/x86/imdct36_sse.asm
index
abdd3af
..
937a2cc
100644
(file)
--- a/
libavcodec/x86/imdct36_sse.asm
+++ b/
libavcodec/x86/imdct36_sse.asm
@@
-391,7
+391,7
@@
INIT_XMM sse
%endif
%macro DEFINE_FOUR_IMDCT 0
-cglobal four_imdct36_float, 5,5,
8
, out, buf, in, win, tmp
+cglobal four_imdct36_float, 5,5,
16
, out, buf, in, win, tmp
movlps m0, [inq+64]
movhps m0, [inq+64 + 72]
movlps m3, [inq+64 + 2*72]