[FFmpeg-cvslog] r25615 - in trunk/libavcodec/x86: dct32_sse.c dsputil_mmx.c h264_qpel_mmx.c idct_sse2_xvid.c
ramiro
subversion
Sun Oct 31 19:14:49 CET 2010
Author: ramiro
Date: Sun Oct 31 19:14:48 2010
New Revision: 25615
Log:
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.
Modified:
trunk/libavcodec/x86/dct32_sse.c
trunk/libavcodec/x86/dsputil_mmx.c
trunk/libavcodec/x86/h264_qpel_mmx.c
trunk/libavcodec/x86/idct_sse2_xvid.c
Modified: trunk/libavcodec/x86/dct32_sse.c
==============================================================================
--- trunk/libavcodec/x86/dct32_sse.c Sun Oct 31 17:28:28 2010 (r25614)
+++ trunk/libavcodec/x86/dct32_sse.c Sun Oct 31 19:14:48 2010 (r25615)
@@ -288,9 +288,9 @@ void ff_dct32_float_sse(FFTSample *out,
"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"
);
}
Modified: trunk/libavcodec/x86/dsputil_mmx.c
==============================================================================
--- trunk/libavcodec/x86/dsputil_mmx.c Sun Oct 31 17:28:28 2010 (r25614)
+++ trunk/libavcodec/x86/dsputil_mmx.c Sun Oct 31 19:14:48 2010 (r25615)
@@ -2004,9 +2004,9 @@ static void vorbis_inverse_coupling_sse(
"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)\
Modified: trunk/libavcodec/x86/h264_qpel_mmx.c
==============================================================================
--- trunk/libavcodec/x86/h264_qpel_mmx.c Sun Oct 31 17:28:28 2010 (r25614)
+++ trunk/libavcodec/x86/h264_qpel_mmx.c Sun Oct 31 19:14:48 2010 (r25615)
@@ -664,11 +664,11 @@ static av_noinline void OPNAME ## h264_q
: "+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_q
"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_q
" 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_q
\
: "+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_qp
"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 ## h
" 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 ## h
" 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"\
);\
}\
}
Modified: trunk/libavcodec/x86/idct_sse2_xvid.c
==============================================================================
--- trunk/libavcodec/x86/idct_sse2_xvid.c Sun Oct 31 17:28:28 2010 (r25614)
+++ trunk/libavcodec/x86/idct_sse2_xvid.c Sun Oct 31 19:14:48 2010 (r25615)
@@ -380,13 +380,13 @@ inline void ff_idct_xvid_sse2(short *blo
"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"
);
}
More information about the ffmpeg-cvslog
mailing list