comparison i386/dsputil_mmx.c @ 6512:33ac9c5524cc libavcodec

remove unused temp
author michael
date Thu, 20 Mar 2008 14:09:31 +0000
parents 5154ab444372
children 713c4fd84e0b
comparison
equal deleted inserted replaced
6511:b5e9dae2dbc6 6512:33ac9c5524cc
1046 src+=srcStride;\ 1046 src+=srcStride;\
1047 }\ 1047 }\
1048 }\ 1048 }\
1049 \ 1049 \
1050 static void OPNAME ## mpeg4_qpel8_h_lowpass_mmx2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ 1050 static void OPNAME ## mpeg4_qpel8_h_lowpass_mmx2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
1051 uint64_t temp;\
1052 \
1053 asm volatile(\ 1051 asm volatile(\
1054 "pxor %%mm7, %%mm7 \n\t"\ 1052 "pxor %%mm7, %%mm7 \n\t"\
1055 "1: \n\t"\ 1053 "1: \n\t"\
1056 "movq (%0), %%mm0 \n\t" /* ABCDEFGH */\ 1054 "movq (%0), %%mm0 \n\t" /* ABCDEFGH */\
1057 "movq %%mm0, %%mm1 \n\t" /* ABCDEFGH */\ 1055 "movq %%mm0, %%mm1 \n\t" /* ABCDEFGH */\
1076 "pmullw "MANGLE(ff_pw_3)", %%mm6 \n\t" /* 3c - 6b */\ 1074 "pmullw "MANGLE(ff_pw_3)", %%mm6 \n\t" /* 3c - 6b */\
1077 "paddw %%mm4, %%mm0 \n\t" /* a */\ 1075 "paddw %%mm4, %%mm0 \n\t" /* a */\
1078 "paddw %%mm1, %%mm5 \n\t" /* d */\ 1076 "paddw %%mm1, %%mm5 \n\t" /* d */\
1079 "pmullw "MANGLE(ff_pw_20)", %%mm0 \n\t" /* 20a */\ 1077 "pmullw "MANGLE(ff_pw_20)", %%mm0 \n\t" /* 20a */\
1080 "psubw %%mm5, %%mm0 \n\t" /* 20a - d */\ 1078 "psubw %%mm5, %%mm0 \n\t" /* 20a - d */\
1081 "paddw %6, %%mm6 \n\t"\ 1079 "paddw %5, %%mm6 \n\t"\
1082 "paddw %%mm6, %%mm0 \n\t" /* 20a - 6b + 3c - d */\ 1080 "paddw %%mm6, %%mm0 \n\t" /* 20a - 6b + 3c - d */\
1083 "psraw $5, %%mm0 \n\t"\ 1081 "psraw $5, %%mm0 \n\t"\
1084 /* mm1=EFGH, mm2=DEFG, mm3=CDEF, mm4=BCDE, mm7=0 */\ 1082 /* mm1=EFGH, mm2=DEFG, mm3=CDEF, mm4=BCDE, mm7=0 */\
1085 \ 1083 \
1086 "movd 5(%0), %%mm5 \n\t" /* FGHI */\ 1084 "movd 5(%0), %%mm5 \n\t" /* FGHI */\
1095 "paddw %%mm2, %%mm2 \n\t" /* 2b */\ 1093 "paddw %%mm2, %%mm2 \n\t" /* 2b */\
1096 "psubw %%mm2, %%mm3 \n\t" /* c - 2b */\ 1094 "psubw %%mm2, %%mm3 \n\t" /* c - 2b */\
1097 "pmullw "MANGLE(ff_pw_20)", %%mm1 \n\t" /* 20a */\ 1095 "pmullw "MANGLE(ff_pw_20)", %%mm1 \n\t" /* 20a */\
1098 "pmullw "MANGLE(ff_pw_3)", %%mm3 \n\t" /* 3c - 6b */\ 1096 "pmullw "MANGLE(ff_pw_3)", %%mm3 \n\t" /* 3c - 6b */\
1099 "psubw %%mm4, %%mm3 \n\t" /* -6b + 3c - d */\ 1097 "psubw %%mm4, %%mm3 \n\t" /* -6b + 3c - d */\
1100 "paddw %6, %%mm1 \n\t"\ 1098 "paddw %5, %%mm1 \n\t"\
1101 "paddw %%mm1, %%mm3 \n\t" /* 20a - 6b + 3c - d */\ 1099 "paddw %%mm1, %%mm3 \n\t" /* 20a - 6b + 3c - d */\
1102 "psraw $5, %%mm3 \n\t"\ 1100 "psraw $5, %%mm3 \n\t"\
1103 "packuswb %%mm3, %%mm0 \n\t"\ 1101 "packuswb %%mm3, %%mm0 \n\t"\
1104 OP_MMX2(%%mm0, (%1), %%mm4, q)\ 1102 OP_MMX2(%%mm0, (%1), %%mm4, q)\
1105 \ 1103 \
1106 "add %3, %0 \n\t"\ 1104 "add %3, %0 \n\t"\
1107 "add %4, %1 \n\t"\ 1105 "add %4, %1 \n\t"\
1108 "decl %2 \n\t"\ 1106 "decl %2 \n\t"\
1109 " jnz 1b \n\t"\ 1107 " jnz 1b \n\t"\
1110 : "+a"(src), "+c"(dst), "+g"(h)\ 1108 : "+a"(src), "+c"(dst), "+g"(h)\
1111 : "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(temp), "m"(ROUNDER)\ 1109 : "S"((long)srcStride), "D"((long)dstStride), /*"m"(ff_pw_20), "m"(ff_pw_3),*/ "m"(ROUNDER)\
1112 : "memory"\ 1110 : "memory"\
1113 );\ 1111 );\
1114 }\ 1112 }\
1115 \ 1113 \
1116 static void OPNAME ## mpeg4_qpel8_h_lowpass_3dnow(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\ 1114 static void OPNAME ## mpeg4_qpel8_h_lowpass_3dnow(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\