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
This commit is contained in:
parent
ba40452095
commit
153ca56b38
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -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)\
|
||||
|
@ -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"\
|
||||
);\
|
||||
}\
|
||||
}
|
||||
|
@ -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"
|
||||
);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user