From 153ca56b38d84c4e144fdd72764035ebe4304002 Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Sun, 31 Oct 2010 18:14:48 +0000 Subject: [PATCH] xmm_clobbers: list xmm registers first in clobber list suncc does not like the leading commas inside the macro, but it has no problem with trailing commas. Originally committed as revision 25615 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/x86/dct32_sse.c | 6 ++--- libavcodec/x86/dsputil_mmx.c | 6 ++--- libavcodec/x86/h264_qpel_mmx.c | 46 ++++++++++++++++----------------- libavcodec/x86/idct_sse2_xvid.c | 10 +++---- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/libavcodec/x86/dct32_sse.c b/libavcodec/x86/dct32_sse.c index 155d7e90bd..74338d6920 100644 --- a/libavcodec/x86/dct32_sse.c +++ b/libavcodec/x86/dct32_sse.c @@ -288,9 +288,9 @@ void ff_dct32_float_sse(FFTSample *out, const FFTSample *in) "movss %%xmm2, 116(%1) \n\t" :"+&r"(tmp1) :"r"(out), "r"(b1), "r"(smask), "r"(in) - :"memory" - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", - "%xmm4", "%xmm5", "%xmm6", "%xmm7") + :XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", + "%xmm4", "%xmm5", "%xmm6", "%xmm7",) + "memory" ); } diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c index 705ba98328..5dac6da8de 100644 --- a/libavcodec/x86/dsputil_mmx.c +++ b/libavcodec/x86/dsputil_mmx.c @@ -2004,9 +2004,9 @@ static void vorbis_inverse_coupling_sse(float *mag, float *ang, int blocksize) "jl 1b \n"\ :"+&r"(i)\ :"r"(samples[0]+len), "r"(matrix)\ - :"memory"\ - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3",\ - "%xmm4", "%xmm5", "%xmm6", "%xmm7")\ + :XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ ); #define MIX_MISC(stereo)\ diff --git a/libavcodec/x86/h264_qpel_mmx.c b/libavcodec/x86/h264_qpel_mmx.c index 61a2d9c235..d8ceca1819 100644 --- a/libavcodec/x86/h264_qpel_mmx.c +++ b/libavcodec/x86/h264_qpel_mmx.c @@ -664,11 +664,11 @@ static av_noinline void OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst, : "+a"(src), "+c"(dst), "+d"(src2), "+g"(h)\ : "D"((x86_reg)src2Stride), "S"((x86_reg)dstStride),\ "m"(ff_pw_5), "m"(ff_pw_16)\ - : "memory"\ - XMM_CLOBBERS(, "%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , \ - "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" , \ - "%xmm8" , "%xmm9" , "%xmm10", "%xmm11", \ - "%xmm12", "%xmm13", "%xmm14", "%xmm15") \ + : XMM_CLOBBERS("%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , \ + "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" , \ + "%xmm8" , "%xmm9" , "%xmm10", "%xmm11", \ + "%xmm12", "%xmm13", "%xmm14", "%xmm15",)\ + "memory"\ );\ } #else // ARCH_X86_64 @@ -724,9 +724,9 @@ static av_noinline void OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(uint8_t *dst, "jg 1b \n\t"\ : "+a"(src), "+c"(dst), "+d"(src2), "+g"(h)\ : "D"((x86_reg)src2Stride), "S"((x86_reg)dstStride)\ - : "memory"\ - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7") \ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ );\ }\ QPEL_H264_H16_XMM(OPNAME, OP, MMX)\ @@ -767,9 +767,9 @@ static av_noinline void OPNAME ## h264_qpel8_h_lowpass_ ## MMX(uint8_t *dst, uin " jnz 1b \n\t"\ : "+a"(src), "+c"(dst), "+g"(h)\ : "D"((x86_reg)srcStride), "S"((x86_reg)dstStride)\ - : "memory"\ - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7") \ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ );\ }\ static void OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ @@ -824,9 +824,9 @@ static av_noinline void OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(uint8_t *dst, \ : "+a"(src), "+c"(dst)\ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ - : "memory"\ - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7") \ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ );\ }\ static void OPNAME ## h264_qpel8_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\ @@ -879,9 +879,9 @@ static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2(int16_t *tmp, u "2: \n\t" : "+a"(src) : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) - : "memory" - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", - "%xmm4", "%xmm5", "%xmm6", "%xmm7") + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", + "%xmm4", "%xmm5", "%xmm6", "%xmm7",) + "memory" ); tmp += 8; src += 8 - (size+5)*srcStride; @@ -944,9 +944,9 @@ static av_always_inline void OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(uint8_ " jnz 1b \n\t"\ : "+a"(tmp), "+c"(dst), "+g"(h)\ : "S"((x86_reg)dstStride)\ - : "memory"\ - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7") \ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ );\ }else{\ __asm__ volatile(\ @@ -980,9 +980,9 @@ static av_always_inline void OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(uint8_ " jnz 1b \n\t"\ : "+a"(tmp), "+c"(dst), "+g"(h)\ : "S"((x86_reg)dstStride)\ - : "memory"\ - XMM_CLOBBERS(, "%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7") \ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ );\ }\ } diff --git a/libavcodec/x86/idct_sse2_xvid.c b/libavcodec/x86/idct_sse2_xvid.c index 92762906a9..edf65813f0 100644 --- a/libavcodec/x86/idct_sse2_xvid.c +++ b/libavcodec/x86/idct_sse2_xvid.c @@ -380,13 +380,13 @@ inline void ff_idct_xvid_sse2(short *block) "6: \n\t" : "+r"(block) : - : "%eax", "%ecx", "%edx", "%esi", "memory" - XMM_CLOBBERS(, "%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , - "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7") + : XMM_CLOBBERS("%xmm0" , "%xmm1" , "%xmm2" , "%xmm3" , + "%xmm4" , "%xmm5" , "%xmm6" , "%xmm7" ,) #if ARCH_X86_64 - XMM_CLOBBERS(, "%xmm8" , "%xmm9" , "%xmm10", "%xmm11", - "%xmm12", "%xmm13", "%xmm14") + XMM_CLOBBERS("%xmm8" , "%xmm9" , "%xmm10", "%xmm11", + "%xmm12", "%xmm13", "%xmm14",) #endif + "%eax", "%ecx", "%edx", "%esi", "memory" ); }