TurboPFor: Bit Unpacking

This commit is contained in:
x
2019-09-24 21:10:10 +02:00
parent 53623d9561
commit b78a141c72

View File

@ -22,6 +22,8 @@
- email : powturbo [_AT_] gmail [_DOT_] com
**/
// "Integer Compression" Bit Packing
#define BITUTIL_IN
#define VINT_IN
#include "conf.h"
#include "bitutil.h"
#include "bitpack.h"
@ -50,7 +52,7 @@ typedef unsigned char *(*BITUNPACK_D64)(const unsigned char *__restrict in, unsi
#if !defined(SSE2_ON) && !defined(AVX2_ON)
#if 0
#if 0 //????
#define OP(_op_, _x_) *_op_++
#define OPX(_op_)
#else
@ -765,9 +767,7 @@ size_t bitnfunpack128v32( unsigned char *__restrict in, size_t n, uint32_t *__re
#define mm256_maskz_loadu_epi32( _m_,_v_) _mm256_maskz_loadu_epi32( _m_,_v_)
#else
#if !(defined(_M_X64) || defined(__amd64__)) && (defined(__i386__) || defined(_M_IX86))
static inline __m128i _mm_cvtsi64_si128(__int64 a) {
return _mm_loadl_epi64((__m128i*)&a);
}
static inline __m128i _mm_cvtsi64_si128(__int64 a) { return _mm_loadl_epi64((__m128i*)&a); }
#endif
static ALIGNED(unsigned char, permv[256][8], 32) = {
0,0,0,0,0,0,0,0,