Merge pull request #1031 from facebook/inline48
force_inline HUF_decodeSymbol*()
This commit is contained in:
commit
3ba307b240
@ -71,10 +71,11 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Enable runtime BMI2 dispatch based on the CPU.
|
/* Enable runtime BMI2 dispatch based on the CPU.
|
||||||
* Enabled for clang/gcc on x86 when BMI2 isn't enabled by default.
|
* Enabled for clang & gcc >=4.8 on x86 when BMI2 isn't enabled by default.
|
||||||
*/
|
*/
|
||||||
#ifndef DYNAMIC_BMI2
|
#ifndef DYNAMIC_BMI2
|
||||||
#if defined(__GNUC__) && (defined(__x86_64__) || defined(_M_X86)) && !defined(__BMI2__)
|
#if defined(__GNUC__) && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) \
|
||||||
|
&& (defined(__x86_64__) || defined(_M_X86)) && !defined(__BMI2__)
|
||||||
# define DYNAMIC_BMI2 1
|
# define DYNAMIC_BMI2 1
|
||||||
#else
|
#else
|
||||||
# define DYNAMIC_BMI2 0
|
# define DYNAMIC_BMI2 0
|
||||||
|
@ -143,7 +143,8 @@ size_t HUF_readDTableX2(HUF_DTable* DTable, const void* src, size_t srcSize)
|
|||||||
|
|
||||||
typedef struct { U16 sequence; BYTE nbBits; BYTE length; } HUF_DEltX4; /* double-symbols decoding */
|
typedef struct { U16 sequence; BYTE nbBits; BYTE length; } HUF_DEltX4; /* double-symbols decoding */
|
||||||
|
|
||||||
static BYTE HUF_decodeSymbolX2(BIT_DStream_t* Dstream, const HUF_DEltX2* dt, const U32 dtLog)
|
FORCE_INLINE_TEMPLATE BYTE
|
||||||
|
HUF_decodeSymbolX2(BIT_DStream_t* Dstream, const HUF_DEltX2* dt, const U32 dtLog)
|
||||||
{
|
{
|
||||||
size_t const val = BIT_lookBitsFast(Dstream, dtLog); /* note : dtLog >= 1 */
|
size_t const val = BIT_lookBitsFast(Dstream, dtLog); /* note : dtLog >= 1 */
|
||||||
BYTE const c = dt[val].byte;
|
BYTE const c = dt[val].byte;
|
||||||
@ -305,7 +306,8 @@ HUF_decompress4X2_usingDTable_internal_body(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static U32 HUF_decodeSymbolX4(void* op, BIT_DStream_t* DStream, const HUF_DEltX4* dt, const U32 dtLog)
|
FORCE_INLINE_TEMPLATE U32
|
||||||
|
HUF_decodeSymbolX4(void* op, BIT_DStream_t* DStream, const HUF_DEltX4* dt, const U32 dtLog)
|
||||||
{
|
{
|
||||||
size_t const val = BIT_lookBitsFast(DStream, dtLog); /* note : dtLog >= 1 */
|
size_t const val = BIT_lookBitsFast(DStream, dtLog); /* note : dtLog >= 1 */
|
||||||
memcpy(op, dt+val, 2);
|
memcpy(op, dt+val, 2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user