xf86-video-ati: Branch 'master'
Michel Dänzer
daenzer at kemper.freedesktop.org
Mon Dec 5 02:17:31 UTC 2016
src/radeon.h | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
New commits:
commit a89c0bced423ce3e09f66edafc35642a7cc03b2f
Author: Jochen Rollwagen <joro-2013 at t-online.de>
Date: Fri Dec 2 10:56:39 2016 +0100
Calculate log base 2 in radeon.h based on clz for all platforms
This commit replaces the inline assembler code (for x86 platforms) and
loop (for non-x86 platforms) in RADEONLog2 with a one-liner version
based on clz (count leading zeroes).
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
diff --git a/src/radeon.h b/src/radeon.h
index 5797bed..039a620 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -935,18 +935,7 @@ enum {
static __inline__ int
RADEONLog2(int val)
{
- int bits;
-#if (defined __i386__ || defined __x86_64__) && (defined __GNUC__)
- __asm volatile("bsrl %1, %0"
- : "=r" (bits)
- : "c" (val)
- );
- return bits;
-#else
- for (bits = 0; val != 0; val >>= 1, ++bits)
- ;
- return bits - 1;
-#endif
+ return 31 - __builtin_clz(val);
}
#define RADEON_TILING_MASK 0xff
More information about the xorg-commit
mailing list