Module: libav Branch: release/0.5 Commit: 9463a287920e220cfb82035415581c4e951cad84
Author: Alex Converse <[email protected]> Committer: Reinhard Tartler <[email protected]> Date: Sun Jan 30 01:04:41 2011 -0800 Fix ff_imdct_calc_sse() on gcc-4.6 Gcc 4.6 only preserves the first value when using an array with an "m" constraint. Signed-off-by: Mans Rullgard <[email protected]> (cherry picked from commit 770c410fbb8e1b87ce8ad7f3d7eddaa55e2b8295) Conflicts: libavcodec/x86/fft_sse.c Signed-off-by: Reinhard Tartler <[email protected]> --- libavcodec/x86/fft_sse.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/x86/fft_sse.c b/libavcodec/x86/fft_sse.c index 3d9f1c5..918fdf2 100644 --- a/libavcodec/x86/fft_sse.c +++ b/libavcodec/x86/fft_sse.c @@ -22,7 +22,7 @@ #include "libavutil/x86_cpu.h" #include "libavcodec/dsputil.h" -static const int m1m1m1m1[4] __attribute__((aligned(16))) = +DECLARE_ASM_CONST(16, int, m1m1m1m1)[4] = { 1 << 31, 1 << 31, 1 << 31, 1 << 31 }; void ff_fft_dispatch_sse(FFTComplex *z, int nbits); @@ -182,7 +182,7 @@ void ff_imdct_calc_sse(MDCTContext *s, FFTSample *output, const FFTSample *input j = -n; k = n-16; __asm__ volatile( - "movaps %4, %%xmm7 \n" + "movaps "MANGLE(m1m1m1m1)", %%xmm7 \n" "1: \n" "movaps (%2,%1), %%xmm0 \n" "movaps (%3,%0), %%xmm1 \n" @@ -195,8 +195,7 @@ void ff_imdct_calc_sse(MDCTContext *s, FFTSample *output, const FFTSample *input "add $16, %0 \n" "jl 1b \n" :"+r"(j), "+r"(k) - :"r"(output+n4), "r"(output+n4*3), - "m"(*m1m1m1m1) + :"r"(output+n4), "r"(output+n4*3) ); } _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
