ref: e1f2113af728f1979194e2ab6295ee109bcf4638
parent: 07f9fa4336f680bb16a47451a2b5a7c8f1288bf2
author: Johann <johannkoenig@google.com>
date: Thu May 8 07:16:07 EDT 2014
Use __asm__ __volatile__ with gcc Some version of clang refuse 'asm volatile' Change-Id: I79d909ac8ae3c04b608f20c6f10fa79b7f9fc8e0
--- a/vp8/encoder/x86/quantize_ssse3.c
+++ b/vp8/encoder/x86/quantize_ssse3.c
@@ -27,7 +27,11 @@
#else
static int bsr(int mask) {
int eob;
+#if defined(__GNUC__) && __GNUC__
+ __asm__ __volatile__("bsr %1, %0" : "=r" (eob) : "r" (mask) : "flags");
+#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
asm volatile("bsr %1, %0" : "=r" (eob) : "r" (mask) : "flags");
+#endif
eob++;
if (mask == 0)
eob = 0;
--
⑨