From 0733f4c9994db696420a405810d5f02c79ebc404 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sun, 22 Nov 2009 11:55:03 +0200 Subject: Make fastpos.h use tuklib_integer.h instead of bsr.h when --enable-small has been specified. --- src/liblzma/common/bsr.h | 60 ------------------------------------------------ 1 file changed, 60 deletions(-) delete mode 100644 src/liblzma/common/bsr.h (limited to 'src/liblzma/common/bsr.h') diff --git a/src/liblzma/common/bsr.h b/src/liblzma/common/bsr.h deleted file mode 100644 index bef8641f..00000000 --- a/src/liblzma/common/bsr.h +++ /dev/null @@ -1,60 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file bsr.h -/// \brief Bit scan reverse -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_BSR_H -#define LZMA_BSR_H - -// NOTE: Both input and output variables for lzma_bsr must be uint32_t. - -#if defined(__GNUC__) && (defined (HAVE_ASM_X86) || defined(HAVE_ASM_X86_64)) -# define lzma_bsr(dest, n) \ - __asm__("bsrl %1, %0" : "=r" (dest) : "rm" (n)) - -#else -# define lzma_bsr(dest, n) dest = lzma_bsr_helper(n) - -static inline uint32_t -lzma_bsr_helper(uint32_t n) -{ - assert(n != 0); - - uint32_t i = 31; - - if ((n & UINT32_C(0xFFFF0000)) == 0) { - n <<= 16; - i = 15; - } - - if ((n & UINT32_C(0xFF000000)) == 0) { - n <<= 8; - i -= 8; - } - - if ((n & UINT32_C(0xF0000000)) == 0) { - n <<= 4; - i -= 4; - } - - if ((n & UINT32_C(0xC0000000)) == 0) { - n <<= 2; - i -= 2; - } - - if ((n & UINT32_C(0x80000000)) == 0) - --i; - - return i; -} - -#endif - -#endif -- cgit v1.2.3