Use __asm__ __volatile__ with gcc
authorJohann <johannkoenig@google.com>
Thu, 8 May 2014 18:16:07 +0000 (11:16 -0700)
committerJohann <johannkoenig@google.com>
Thu, 8 May 2014 18:16:07 +0000 (11:16 -0700)
Some version of clang refuse 'asm volatile'

Change-Id: I79d909ac8ae3c04b608f20c6f10fa79b7f9fc8e0

vp8/encoder/x86/quantize_ssse3.c

index 9b4471d..448217f 100644 (file)
@@ -27,7 +27,11 @@ static int bsr(int mask) {
 #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;