From 331e7c4cb34eb77451fbf84c604d717ed49abf15 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Sun, 29 Jan 2012 08:14:05 -0800 Subject: [PATCH] imdct36: mark SSE functions as using all 16 XMM registers. 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/x86/imdct36_sse.asm b/libavcodec/x86/imdct36_sse.asm index abdd3af5b6..937a2cc416 100644 --- 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]