shithub: libvpx

Download patch

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;