summaryrefslogtreecommitdiff
path: root/libpostproc
diff options
context:
space:
mode:
authorYuriy Kaminskiy <yumkam@mail.ru>2011-09-24 01:33:37 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-09-24 01:37:52 +0200
commitd16ebec7957f2805f603bbb94eb0df4a1fc5a0a8 (patch)
treeb13d9dcf970b73c42a1059e94636ee375867d3d1 /libpostproc
parenta7758884db7eb3041b73d673c1ac3897609556b9 (diff)
downloadffmpeg-d16ebec7957f2805f603bbb94eb0df4a1fc5a0a8.tar.gz
postproc: Fix compilation failure.
libpostproc/postprocess_template.c: In function 'dering_MMX2': libpostproc/postprocess_template.c:1045:5: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' libpostproc/postprocess_template.c:1045:5: error: 'asm' operand has impossible constraints
Diffstat (limited to 'libpostproc')
-rw-r--r--libpostproc/postprocess_template.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c
index 21a8626696..7559815fed 100644
--- a/libpostproc/postprocess_template.c
+++ b/libpostproc/postprocess_template.c
@@ -1132,8 +1132,10 @@ FIND_MIN_MAX((%0, %1, 8))
#endif
"movq %%mm6, %%mm0 \n\t" // max
"psubb %%mm7, %%mm6 \n\t" // max - min
- "movd %%mm6, %%ecx \n\t"
- "cmpb "MANGLE(deringThreshold)", %%cl \n\t"
+ "push %k4 \n\t"
+ "movd %%mm6, %k4 \n\t"
+ "cmpb "MANGLE(deringThreshold)", %b4 \n\t"
+ "pop %k4 \n\t"
" jb 1f \n\t"
PAVGB(%%mm0, %%mm7) // a=(max + min)/2
"punpcklbw %%mm7, %%mm7 \n\t"
@@ -1261,8 +1263,8 @@ DERING_CORE((%%REGd, %1, 2),(%0, %1, 8) ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,
DERING_CORE((%0, %1, 8) ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
"1: \n\t"
- : : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2), "r"(tmp)
- : "%"REG_a, "%"REG_d, "%"REG_c
+ : : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2), "q"(tmp)
+ : "%"REG_a, "%"REG_d
);
#else //HAVE_MMX2 || HAVE_AMD3DNOW
int y;