From 1268831c81bbc27fade1e00bbb443236bae5b996 Mon Sep 17 00:00:00 2001 From: x Date: Sun, 8 Jan 2017 11:48:09 +0100 Subject: [PATCH] TurboPFor: Bit Pack AVX2 include --- bitpack256v_.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/bitpack256v_.h b/bitpack256v_.h index 7fb31e7..595831b 100644 --- a/bitpack256v_.h +++ b/bitpack256v_.h @@ -1996,3 +1996,41 @@ BITBLK256V32_64(ip, 31, op, parm); IPPE(ip); OPPE(op += 64*4/sizeof(op[0]));\ } +#define BITPACK256V32(__pip, __nbits, __pop, __parm) { __m256i *__ip=(__m256i *)__pip,*__op=(__m256i *)__pop;\ + switch(__nbits) {\ + case 0: break;\ + case 1:{ BITPACK256V32_1( __ip, __op, __parm); } break;\ + case 2:{ BITPACK256V32_2( __ip, __op, __parm); } break;\ + case 3:{ BITPACK256V32_3( __ip, __op, __parm); } break;\ + case 4:{ BITPACK256V32_4( __ip, __op, __parm); } break;\ + case 5:{ BITPACK256V32_5( __ip, __op, __parm); } break;\ + case 6:{ BITPACK256V32_6( __ip, __op, __parm); } break;\ + case 7:{ BITPACK256V32_7( __ip, __op, __parm); } break;\ + case 8:{ BITPACK256V32_8( __ip, __op, __parm); } break;\ + case 9:{ BITPACK256V32_9( __ip, __op, __parm); } break;\ + case 10:{ BITPACK256V32_10(__ip, __op, __parm); } break;\ + case 11:{ BITPACK256V32_11(__ip, __op, __parm); } break;\ + case 12:{ BITPACK256V32_12(__ip, __op, __parm); } break;\ + case 13:{ BITPACK256V32_13(__ip, __op, __parm); } break;\ + case 14:{ BITPACK256V32_14(__ip, __op, __parm); } break;\ + case 15:{ BITPACK256V32_15(__ip, __op, __parm); } break;\ + case 16:{ BITPACK256V32_16(__ip, __op, __parm); } break;\ + case 17:{ BITPACK256V32_17(__ip, __op, __parm); } break;\ + case 18:{ BITPACK256V32_18(__ip, __op, __parm); } break;\ + case 19:{ BITPACK256V32_19(__ip, __op, __parm); } break;\ + case 20:{ BITPACK256V32_20(__ip, __op, __parm); } break;\ + case 21:{ BITPACK256V32_21(__ip, __op, __parm); } break;\ + case 22:{ BITPACK256V32_22(__ip, __op, __parm); } break;\ + case 23:{ BITPACK256V32_23(__ip, __op, __parm); } break;\ + case 24:{ BITPACK256V32_24(__ip, __op, __parm); } break;\ + case 25:{ BITPACK256V32_25(__ip, __op, __parm); } break;\ + case 26:{ BITPACK256V32_26(__ip, __op, __parm); } break;\ + case 27:{ BITPACK256V32_27(__ip, __op, __parm); } break;\ + case 28:{ BITPACK256V32_28(__ip, __op, __parm); } break;\ + case 29:{ BITPACK256V32_29(__ip, __op, __parm); } break;\ + case 30:{ BITPACK256V32_30(__ip, __op, __parm); } break;\ + case 31:{ BITPACK256V32_31(__ip, __op, __parm); } break;\ + case 32:{ BITPACK256V32_32(__ip, __op, __parm); } break;\ + }\ +} +