Mercurial > libavcodec.hg
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){\ |