From efc295f8c49e29467c7ab73c01592d5e61af8123 Mon Sep 17 00:00:00 2001 From: powturbo Date: Tue, 13 Jun 2017 09:14:19 +0200 Subject: [PATCH] TurboPFor: Bit Pack include --- bitpack_.h | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/bitpack_.h b/bitpack_.h index 637fa17..259581d 100644 --- a/bitpack_.h +++ b/bitpack_.h @@ -23,7 +23,7 @@ **/ // TurboPFor Integer Compression: Bit Packing #ifdef IPI -#define BITBLK64_1(ip, i, op, parm) { ; uint32_t w;;\ +#define BITBLK64_1(ip, i, op, parm) { uint32_t w;;\ IPB(ip, i*32+ 0, parm); w = (uint32_t)IPV(ip, i*32+ 0) ;\ IPB(ip, i*32+ 1, parm); w |= (uint32_t)IPV(ip, i*32+ 1) << 1;\ IPB(ip, i*32+ 2, parm); w |= (uint32_t)IPV(ip, i*32+ 2) << 2;\ @@ -62,7 +62,7 @@ BITBLK64_1(ip, 0, op, parm); IPI(ip); op += 1*4/sizeof(op[0]);\ } -#define BITBLK64_2(ip, i, op, parm) { ; uint64_t w;;\ +#define BITBLK64_2(ip, i, op, parm) { uint64_t w;;\ IPB(ip, i*32+ 0, parm); w = (uint64_t)IPV(ip, i*32+ 0) ;\ IPB(ip, i*32+ 1, parm); w |= (uint64_t)IPV(ip, i*32+ 1) << 2;\ IPB(ip, i*32+ 2, parm); w |= (uint64_t)IPV(ip, i*32+ 2) << 4;\ @@ -101,7 +101,7 @@ BITBLK64_2(ip, 0, op, parm); IPI(ip); op += 2*4/sizeof(op[0]);\ } -#define BITBLK64_3(ip, i, op, parm) { ; uint64_t w;;\ +#define BITBLK64_3(ip, i, op, parm) { uint64_t w;;\ IPB(ip, i*64+ 0, parm); w = (uint64_t)IPV(ip, i*64+ 0) ;\ IPB(ip, i*64+ 1, parm); w |= (uint64_t)IPV(ip, i*64+ 1) << 3;\ IPB(ip, i*64+ 2, parm); w |= (uint64_t)IPV(ip, i*64+ 2) << 6;\ @@ -140,7 +140,7 @@ BITBLK64_3(ip, 0, op, parm); IPI(ip); op += 3*4/sizeof(op[0]);\ } -#define BITBLK64_4(ip, i, op, parm) { ; uint64_t w;;\ +#define BITBLK64_4(ip, i, op, parm) { uint64_t w;;\ IPB(ip, i*16+ 0, parm); w = (uint64_t)IPV(ip, i*16+ 0) ;\ IPB(ip, i*16+ 1, parm); w |= (uint64_t)IPV(ip, i*16+ 1) << 4;\ IPB(ip, i*16+ 2, parm); w |= (uint64_t)IPV(ip, i*16+ 2) << 8;\ @@ -164,7 +164,7 @@ BITBLK64_4(ip, 1, op, parm); IPI(ip); op += 4*4/sizeof(op[0]);\ } -#define BITBLK64_5(ip, i, op, parm) { ; uint64_t w;;\ +#define BITBLK64_5(ip, i, op, parm) { uint64_t w;;\ IPB(ip, i*64+ 0, parm); w = (uint64_t)IPV(ip, i*64+ 0) ;\ IPB(ip, i*64+ 1, parm); w |= (uint64_t)IPV(ip, i*64+ 1) << 5;\ IPB(ip, i*64+ 2, parm); w |= (uint64_t)IPV(ip, i*64+ 2) << 10;\ @@ -203,7 +203,7 @@ BITBLK64_5(ip, 0, op, parm); IPI(ip); op += 5*4/sizeof(op[0]);\ } -#define BITBLK64_6(ip, i, op, parm) { ; uint64_t w;;\ +#define BITBLK64_6(ip, i, op, parm) { uint64_t w;;\ IPB(ip, i*32+ 0, parm); w = (uint64_t)IPV(ip, i*32+ 0) ;\ IPB(ip, i*32+ 1, parm); w |= (uint64_t)IPV(ip, i*32+ 1) << 6;\ IPB(ip, i*32+ 2, parm); w |= (uint64_t)IPV(ip, i*32+ 2) << 12;\ @@ -242,7 +242,7 @@ BITBLK64_6(ip, 0, op, parm); IPI(ip); op += 6*4/sizeof(op[0]);\ } -#define BITBLK64_7(ip, i, op, parm) { ; uint64_t w;;\ +#define BITBLK64_7(ip, i, op, parm) { uint64_t w;;\ IPB(ip, i*64+ 0, parm); w = (uint64_t)IPV(ip, i*64+ 0) ;\ IPB(ip, i*64+ 1, parm); w |= (uint64_t)IPV(ip, i*64+ 1) << 7;\ IPB(ip, i*64+ 2, parm); w |= (uint64_t)IPV(ip, i*64+ 2) << 14;\ @@ -2268,7 +2268,7 @@ unsigned char *TEMPLATE2(_BITPACK_,8_5)(uint8_t *__restrict in, unsigned n, cons unsigned char *TEMPLATE2(_BITPACK_,8_6)(uint8_t *__restrict in, unsigned n, const unsigned char *__restrict out ) { unsigned char *out_=out+PAD8(n*6); uint8_t v,x;do { BITPACK64_6( in, out, start); PREFETCH(in); } while(out