aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRamiro Polla <ramiro.polla@gmail.com>2010-10-31 13:15:16 +0000
committerRamiro Polla <ramiro.polla@gmail.com>2010-10-31 13:15:16 +0000
commit9943f3b91c6c023bf7f98e789ae64785e082d26f (patch)
treeee635b99ee148b4ee8b76e436a847783dfaa537f
parent559738eff33f588af595da02be0962fbf4af30ea (diff)
downloadffmpeg-9943f3b91c6c023bf7f98e789ae64785e082d26f.tar.gz
mpegvideo_mmx: add xmm registers to clobber list
Originally committed as revision 25607 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/x86/mpegvideo_mmx.c2
-rw-r--r--libavcodec/x86/mpegvideo_mmx_template.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/x86/mpegvideo_mmx.c b/libavcodec/x86/mpegvideo_mmx.c
index c84fb0114f..a32e35b6b7 100644
--- a/libavcodec/x86/mpegvideo_mmx.c
+++ b/libavcodec/x86/mpegvideo_mmx.c
@@ -581,6 +581,8 @@ static void denoise_dct_sse2(MpegEncContext *s, DCTELEM *block){
" jb 1b \n\t"
: "+r" (block), "+r" (sum), "+r" (offset)
: "r"(block+64)
+ XMM_CLOBBERS_ONLY("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+ "%xmm4", "%xmm5", "%xmm6", "%xmm7")
);
}
diff --git a/libavcodec/x86/mpegvideo_mmx_template.c b/libavcodec/x86/mpegvideo_mmx_template.c
index 0d927921e2..b292c9d170 100644
--- a/libavcodec/x86/mpegvideo_mmx_template.c
+++ b/libavcodec/x86/mpegvideo_mmx_template.c
@@ -180,6 +180,8 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
: "+a" (last_non_zero_p1)
: "r" (block+64), "r" (qmat), "r" (bias),
"r" (inv_zigzag_direct16+64), "r" (temp_block+64)
+ XMM_CLOBBERS_ONLY("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+ "%xmm4", "%xmm5", "%xmm6", "%xmm7")
);
}else{ // FMT_H263
__asm__ volatile(
@@ -212,6 +214,8 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
: "+a" (last_non_zero_p1)
: "r" (block+64), "r" (qmat+64), "r" (bias+64),
"r" (inv_zigzag_direct16+64), "r" (temp_block+64)
+ XMM_CLOBBERS_ONLY("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+ "%xmm4", "%xmm5", "%xmm6", "%xmm7")
);
}
__asm__ volatile(