|
|
|
@@ -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"\ |
|
|
|
);\ |
|
|
|
}\ |
|
|
|
} |
|
|
|
|