summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-03-15 20:38:23 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-03-15 20:49:37 -0400
commit79414257e23a0dee82a9978b5444ae8953376221 (patch)
tree278ffeb452a1f629b16d9391b68b12794c05d170
parent56e2ac6b45ada4f9c107fe7b25f0706ec2e4dc11 (diff)
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.
-rw-r--r--libavcodec/x86/mathops.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h
index b18302744c..33d9a6c8ff 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;
}