diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2011-03-15 20:38:23 -0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2011-03-15 20:49:37 -0400 |
commit | 79414257e23a0dee82a9978b5444ae8953376221 (patch) | |
tree | 278ffeb452a1f629b16d9391b68b12794c05d170 /libavcodec/x86 | |
parent | 56e2ac6b45ada4f9c107fe7b25f0706ec2e4dc11 (diff) | |
download | ffmpeg-streaming-79414257e23a0dee82a9978b5444ae8953376221.zip ffmpeg-streaming-79414257e23a0dee82a9978b5444ae8953376221.tar.gz |
mathops: fix MULL() when the compiler does not inline the function.
If the function is not inlined, an immmediate cannot be used for the
shift parameter, so the %cl register must be used instead in that case.
This fixes compilation for x86-32 using gcc with --disable-optimizations.
Diffstat (limited to 'libavcodec/x86')
-rw-r--r-- | libavcodec/x86/mathops.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h index b183027..33d9a6c 100644 --- a/libavcodec/x86/mathops.h +++ b/libavcodec/x86/mathops.h @@ -35,7 +35,7 @@ static av_always_inline av_const int MULL(int a, int b, unsigned shift) "imull %3 \n\t" "shrdl %4, %%edx, %%eax \n\t" :"=a"(rt), "=d"(dummy) - :"a"(a), "rm"(b), "i"(shift) + :"a"(a), "rm"(b), "ci"((uint8_t)shift) ); return rt; } |