diff options
author | Alexis Ballier <alexis.ballier@gmail.com> | 2008-08-24 08:41:20 +0000 |
---|---|---|
committer | Guillaume Poirier <gpoirier@mplayerhq.hu> | 2008-08-24 08:41:20 +0000 |
commit | dad6afb4cb8dc98c7edb4370c7b589b90c546395 (patch) | |
tree | 8dae43d84dbd29854fef2c5e19de4bd58c5ac565 /libavcodec/i386/mpegvideo_mmx.c | |
parent | cbcbf439b9641b1f2e95ec2ca23a52e6473f725b (diff) | |
download | ffmpeg-dad6afb4cb8dc98c7edb4370c7b589b90c546395.tar.gz |
stricter constraints of asm() blocks
All these variables are used as left operands of a movd instruction,
which does accept only memory or register operands while the "g"
constraint also allows immediates. Use "rm" instead.
Patch by Alexis Ballier %alexis P ballier A gmail P com%
Originally committed as revision 14941 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/i386/mpegvideo_mmx.c')
-rw-r--r-- | libavcodec/i386/mpegvideo_mmx.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/i386/mpegvideo_mmx.c b/libavcodec/i386/mpegvideo_mmx.c index b7ed74d270..4ff730243b 100644 --- a/libavcodec/i386/mpegvideo_mmx.c +++ b/libavcodec/i386/mpegvideo_mmx.c @@ -99,7 +99,7 @@ asm volatile( "add $16, %3 \n\t" "jng 1b \n\t" - ::"r" (block+nCoeffs), "g"(qmul), "g" (qadd), "r" (2*(-nCoeffs)) + ::"r" (block+nCoeffs), "rm"(qmul), "rm" (qadd), "r" (2*(-nCoeffs)) : "memory" ); block[0]= level; @@ -162,7 +162,7 @@ asm volatile( "add $16, %3 \n\t" "jng 1b \n\t" - ::"r" (block+nCoeffs), "g"(qmul), "g" (qadd), "r" (2*(-nCoeffs)) + ::"r" (block+nCoeffs), "rm"(qmul), "rm" (qadd), "r" (2*(-nCoeffs)) : "memory" ); } @@ -260,7 +260,7 @@ asm volatile( "add $16, %%"REG_a" \n\t" "js 1b \n\t" - ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "g" (qscale), "g" (-2*nCoeffs) + ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "rm" (qscale), "g" (-2*nCoeffs) : "%"REG_a, "memory" ); block[0]= block0; @@ -327,7 +327,7 @@ asm volatile( "add $16, %%"REG_a" \n\t" "js 1b \n\t" - ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "g" (qscale), "g" (-2*nCoeffs) + ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "rm" (qscale), "g" (-2*nCoeffs) : "%"REG_a, "memory" ); } @@ -391,7 +391,7 @@ asm volatile( "add $16, %%"REG_a" \n\t" "jng 1b \n\t" - ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "g" (qscale), "g" (-2*nCoeffs) + ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "rm" (qscale), "g" (-2*nCoeffs) : "%"REG_a, "memory" ); block[0]= block0; @@ -470,7 +470,7 @@ asm volatile( "pxor %%mm7, %%mm0 \n\t" "movd %%mm0, 124(%0, %3) \n\t" - ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "g" (qscale), "r" (-2*nCoeffs) + ::"r" (block+nCoeffs), "r"(quant_matrix+nCoeffs), "rm" (qscale), "r" (-2*nCoeffs) : "%"REG_a, "memory" ); } |