diff --git a/bitpack_.h b/bitpack_.h index cf6e4c4..c0167fd 100644 --- a/bitpack_.h +++ b/bitpack_.h @@ -1,5 +1,5 @@ /** - Copyright (C) powturbo 2013-2018 + Copyright (C) powturbo 2013-2017 GPL v2 License This program is free software; you can redistribute it and/or modify @@ -24,38 +24,38 @@ // TurboPFor Integer Compression: Bit Packing #ifdef IPI #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;\ - IPB(ip, i*32+ 3, parm); w |= (uint32_t)IPV(ip, i*32+ 3) << 3;\ - IPB(ip, i*32+ 4, parm); w |= (uint32_t)IPV(ip, i*32+ 4) << 4;\ - IPB(ip, i*32+ 5, parm); w |= (uint32_t)IPV(ip, i*32+ 5) << 5;\ - IPB(ip, i*32+ 6, parm); w |= (uint32_t)IPV(ip, i*32+ 6) << 6;\ - IPB(ip, i*32+ 7, parm); w |= (uint32_t)IPV(ip, i*32+ 7) << 7;\ - IPB(ip, i*32+ 8, parm); w |= (uint32_t)IPV(ip, i*32+ 8) << 8;\ - IPB(ip, i*32+ 9, parm); w |= (uint32_t)IPV(ip, i*32+ 9) << 9;\ - IPB(ip, i*32+10, parm); w |= (uint32_t)IPV(ip, i*32+10) << 10;\ - IPB(ip, i*32+11, parm); w |= (uint32_t)IPV(ip, i*32+11) << 11;\ - IPB(ip, i*32+12, parm); w |= (uint32_t)IPV(ip, i*32+12) << 12;\ - IPB(ip, i*32+13, parm); w |= (uint32_t)IPV(ip, i*32+13) << 13;\ - IPB(ip, i*32+14, parm); w |= (uint32_t)IPV(ip, i*32+14) << 14;\ - IPB(ip, i*32+15, parm); w |= (uint32_t)IPV(ip, i*32+15) << 15;\ - IPB(ip, i*32+16, parm); w |= (uint32_t)IPV(ip, i*32+16) << 16;\ - IPB(ip, i*32+17, parm); w |= (uint32_t)IPV(ip, i*32+17) << 17;\ - IPB(ip, i*32+18, parm); w |= (uint32_t)IPV(ip, i*32+18) << 18;\ - IPB(ip, i*32+19, parm); w |= (uint32_t)IPV(ip, i*32+19) << 19;\ - IPB(ip, i*32+20, parm); w |= (uint32_t)IPV(ip, i*32+20) << 20;\ - IPB(ip, i*32+21, parm); w |= (uint32_t)IPV(ip, i*32+21) << 21;\ - IPB(ip, i*32+22, parm); w |= (uint32_t)IPV(ip, i*32+22) << 22;\ - IPB(ip, i*32+23, parm); w |= (uint32_t)IPV(ip, i*32+23) << 23;\ - IPB(ip, i*32+24, parm); w |= (uint32_t)IPV(ip, i*32+24) << 24;\ - IPB(ip, i*32+25, parm); w |= (uint32_t)IPV(ip, i*32+25) << 25;\ - IPB(ip, i*32+26, parm); w |= (uint32_t)IPV(ip, i*32+26) << 26;\ - IPB(ip, i*32+27, parm); w |= (uint32_t)IPV(ip, i*32+27) << 27;\ - IPB(ip, i*32+28, parm); w |= (uint32_t)IPV(ip, i*32+28) << 28;\ - IPB(ip, i*32+29, parm); w |= (uint32_t)IPV(ip, i*32+29) << 29;\ - IPB(ip, i*32+30, parm); w |= (uint32_t)IPV(ip, i*32+30) << 30;\ - IPB(ip, i*32+31, parm); w |= (uint32_t)IPV(ip, i*32+31) << 31;*((uint32_t *)op+i*1+ 0) = w;;\ + IP9(ip, i*32+ 0, parm); w = (uint32_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); w |= (uint32_t)IPV(ip, i*32+ 1) << 1;\ + IP9(ip, i*32+ 2, parm); w |= (uint32_t)IPV(ip, i*32+ 2) << 2;\ + IP9(ip, i*32+ 3, parm); w |= (uint32_t)IPV(ip, i*32+ 3) << 3;\ + IP9(ip, i*32+ 4, parm); w |= (uint32_t)IPV(ip, i*32+ 4) << 4;\ + IP9(ip, i*32+ 5, parm); w |= (uint32_t)IPV(ip, i*32+ 5) << 5;\ + IP9(ip, i*32+ 6, parm); w |= (uint32_t)IPV(ip, i*32+ 6) << 6;\ + IP9(ip, i*32+ 7, parm); w |= (uint32_t)IPV(ip, i*32+ 7) << 7;\ + IP9(ip, i*32+ 8, parm); w |= (uint32_t)IPV(ip, i*32+ 8) << 8;\ + IP9(ip, i*32+ 9, parm); w |= (uint32_t)IPV(ip, i*32+ 9) << 9;\ + IP9(ip, i*32+10, parm); w |= (uint32_t)IPV(ip, i*32+10) << 10;\ + IP9(ip, i*32+11, parm); w |= (uint32_t)IPV(ip, i*32+11) << 11;\ + IP9(ip, i*32+12, parm); w |= (uint32_t)IPV(ip, i*32+12) << 12;\ + IP9(ip, i*32+13, parm); w |= (uint32_t)IPV(ip, i*32+13) << 13;\ + IP9(ip, i*32+14, parm); w |= (uint32_t)IPV(ip, i*32+14) << 14;\ + IP9(ip, i*32+15, parm); w |= (uint32_t)IPV(ip, i*32+15) << 15;\ + IP9(ip, i*32+16, parm); w |= (uint32_t)IPV(ip, i*32+16) << 16;\ + IP9(ip, i*32+17, parm); w |= (uint32_t)IPV(ip, i*32+17) << 17;\ + IP9(ip, i*32+18, parm); w |= (uint32_t)IPV(ip, i*32+18) << 18;\ + IP9(ip, i*32+19, parm); w |= (uint32_t)IPV(ip, i*32+19) << 19;\ + IP9(ip, i*32+20, parm); w |= (uint32_t)IPV(ip, i*32+20) << 20;\ + IP9(ip, i*32+21, parm); w |= (uint32_t)IPV(ip, i*32+21) << 21;\ + IP9(ip, i*32+22, parm); w |= (uint32_t)IPV(ip, i*32+22) << 22;\ + IP9(ip, i*32+23, parm); w |= (uint32_t)IPV(ip, i*32+23) << 23;\ + IP9(ip, i*32+24, parm); w |= (uint32_t)IPV(ip, i*32+24) << 24;\ + IP9(ip, i*32+25, parm); w |= (uint32_t)IPV(ip, i*32+25) << 25;\ + IP9(ip, i*32+26, parm); w |= (uint32_t)IPV(ip, i*32+26) << 26;\ + IP9(ip, i*32+27, parm); w |= (uint32_t)IPV(ip, i*32+27) << 27;\ + IP9(ip, i*32+28, parm); w |= (uint32_t)IPV(ip, i*32+28) << 28;\ + IP9(ip, i*32+29, parm); w |= (uint32_t)IPV(ip, i*32+29) << 29;\ + IP9(ip, i*32+30, parm); w |= (uint32_t)IPV(ip, i*32+30) << 30;\ + IP9(ip, i*32+31, parm); w |= (uint32_t)IPV(ip, i*32+31) << 31;*((uint32_t *)op+i*1+ 0) = w;;\ } #define BITPACK64_1(ip, op, parm) { \ @@ -63,38 +63,38 @@ } #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;\ - IPB(ip, i*32+ 3, parm); w |= (uint64_t)IPV(ip, i*32+ 3) << 6;\ - IPB(ip, i*32+ 4, parm); w |= (uint64_t)IPV(ip, i*32+ 4) << 8;\ - IPB(ip, i*32+ 5, parm); w |= (uint64_t)IPV(ip, i*32+ 5) << 10;\ - IPB(ip, i*32+ 6, parm); w |= (uint64_t)IPV(ip, i*32+ 6) << 12;\ - IPB(ip, i*32+ 7, parm); w |= (uint64_t)IPV(ip, i*32+ 7) << 14;\ - IPB(ip, i*32+ 8, parm); w |= (uint64_t)IPV(ip, i*32+ 8) << 16;\ - IPB(ip, i*32+ 9, parm); w |= (uint64_t)IPV(ip, i*32+ 9) << 18;\ - IPB(ip, i*32+10, parm); w |= (uint64_t)IPV(ip, i*32+10) << 20;\ - IPB(ip, i*32+11, parm); w |= (uint64_t)IPV(ip, i*32+11) << 22;\ - IPB(ip, i*32+12, parm); w |= (uint64_t)IPV(ip, i*32+12) << 24;\ - IPB(ip, i*32+13, parm); w |= (uint64_t)IPV(ip, i*32+13) << 26;\ - IPB(ip, i*32+14, parm); w |= (uint64_t)IPV(ip, i*32+14) << 28;\ - IPB(ip, i*32+15, parm); w |= (uint64_t)IPV(ip, i*32+15) << 30;\ - IPB(ip, i*32+16, parm); w |= (uint64_t)IPV(ip, i*32+16) << 32;\ - IPB(ip, i*32+17, parm); w |= (uint64_t)IPV(ip, i*32+17) << 34;\ - IPB(ip, i*32+18, parm); w |= (uint64_t)IPV(ip, i*32+18) << 36;\ - IPB(ip, i*32+19, parm); w |= (uint64_t)IPV(ip, i*32+19) << 38;\ - IPB(ip, i*32+20, parm); w |= (uint64_t)IPV(ip, i*32+20) << 40;\ - IPB(ip, i*32+21, parm); w |= (uint64_t)IPV(ip, i*32+21) << 42;\ - IPB(ip, i*32+22, parm); w |= (uint64_t)IPV(ip, i*32+22) << 44;\ - IPB(ip, i*32+23, parm); w |= (uint64_t)IPV(ip, i*32+23) << 46;\ - IPB(ip, i*32+24, parm); w |= (uint64_t)IPV(ip, i*32+24) << 48;\ - IPB(ip, i*32+25, parm); w |= (uint64_t)IPV(ip, i*32+25) << 50;\ - IPB(ip, i*32+26, parm); w |= (uint64_t)IPV(ip, i*32+26) << 52;\ - IPB(ip, i*32+27, parm); w |= (uint64_t)IPV(ip, i*32+27) << 54;\ - IPB(ip, i*32+28, parm); w |= (uint64_t)IPV(ip, i*32+28) << 56;\ - IPB(ip, i*32+29, parm); w |= (uint64_t)IPV(ip, i*32+29) << 58;\ - IPB(ip, i*32+30, parm); w |= (uint64_t)IPV(ip, i*32+30) << 60;\ - IPB(ip, i*32+31, parm); w |= (uint64_t)IPV(ip, i*32+31) << 62;*((uint64_t *)op+i*1+ 0) = w;;\ + IP9(ip, i*32+ 0, parm); w = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); w |= (uint64_t)IPV(ip, i*32+ 1) << 2;\ + IP9(ip, i*32+ 2, parm); w |= (uint64_t)IPV(ip, i*32+ 2) << 4;\ + IP9(ip, i*32+ 3, parm); w |= (uint64_t)IPV(ip, i*32+ 3) << 6;\ + IP9(ip, i*32+ 4, parm); w |= (uint64_t)IPV(ip, i*32+ 4) << 8;\ + IP9(ip, i*32+ 5, parm); w |= (uint64_t)IPV(ip, i*32+ 5) << 10;\ + IP9(ip, i*32+ 6, parm); w |= (uint64_t)IPV(ip, i*32+ 6) << 12;\ + IP9(ip, i*32+ 7, parm); w |= (uint64_t)IPV(ip, i*32+ 7) << 14;\ + IP9(ip, i*32+ 8, parm); w |= (uint64_t)IPV(ip, i*32+ 8) << 16;\ + IP9(ip, i*32+ 9, parm); w |= (uint64_t)IPV(ip, i*32+ 9) << 18;\ + IP9(ip, i*32+10, parm); w |= (uint64_t)IPV(ip, i*32+10) << 20;\ + IP9(ip, i*32+11, parm); w |= (uint64_t)IPV(ip, i*32+11) << 22;\ + IP9(ip, i*32+12, parm); w |= (uint64_t)IPV(ip, i*32+12) << 24;\ + IP9(ip, i*32+13, parm); w |= (uint64_t)IPV(ip, i*32+13) << 26;\ + IP9(ip, i*32+14, parm); w |= (uint64_t)IPV(ip, i*32+14) << 28;\ + IP9(ip, i*32+15, parm); w |= (uint64_t)IPV(ip, i*32+15) << 30;\ + IP9(ip, i*32+16, parm); w |= (uint64_t)IPV(ip, i*32+16) << 32;\ + IP9(ip, i*32+17, parm); w |= (uint64_t)IPV(ip, i*32+17) << 34;\ + IP9(ip, i*32+18, parm); w |= (uint64_t)IPV(ip, i*32+18) << 36;\ + IP9(ip, i*32+19, parm); w |= (uint64_t)IPV(ip, i*32+19) << 38;\ + IP9(ip, i*32+20, parm); w |= (uint64_t)IPV(ip, i*32+20) << 40;\ + IP9(ip, i*32+21, parm); w |= (uint64_t)IPV(ip, i*32+21) << 42;\ + IP9(ip, i*32+22, parm); w |= (uint64_t)IPV(ip, i*32+22) << 44;\ + IP9(ip, i*32+23, parm); w |= (uint64_t)IPV(ip, i*32+23) << 46;\ + IP9(ip, i*32+24, parm); w |= (uint64_t)IPV(ip, i*32+24) << 48;\ + IP9(ip, i*32+25, parm); w |= (uint64_t)IPV(ip, i*32+25) << 50;\ + IP9(ip, i*32+26, parm); w |= (uint64_t)IPV(ip, i*32+26) << 52;\ + IP9(ip, i*32+27, parm); w |= (uint64_t)IPV(ip, i*32+27) << 54;\ + IP9(ip, i*32+28, parm); w |= (uint64_t)IPV(ip, i*32+28) << 56;\ + IP9(ip, i*32+29, parm); w |= (uint64_t)IPV(ip, i*32+29) << 58;\ + IP9(ip, i*32+30, parm); w |= (uint64_t)IPV(ip, i*32+30) << 60;\ + IP9(ip, i*32+31, parm); w |= (uint64_t)IPV(ip, i*32+31) << 62;*((uint64_t *)op+i*1+ 0) = w;;\ } #define BITPACK64_2(ip, op, parm) { \ @@ -102,38 +102,38 @@ } #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;\ - IPB(ip, i*64+ 3, parm); w |= (uint64_t)IPV(ip, i*64+ 3) << 9;\ - IPB(ip, i*64+ 4, parm); w |= (uint64_t)IPV(ip, i*64+ 4) << 12;\ - IPB(ip, i*64+ 5, parm); w |= (uint64_t)IPV(ip, i*64+ 5) << 15;\ - IPB(ip, i*64+ 6, parm); w |= (uint64_t)IPV(ip, i*64+ 6) << 18;\ - IPB(ip, i*64+ 7, parm); w |= (uint64_t)IPV(ip, i*64+ 7) << 21;\ - IPB(ip, i*64+ 8, parm); w |= (uint64_t)IPV(ip, i*64+ 8) << 24;\ - IPB(ip, i*64+ 9, parm); w |= (uint64_t)IPV(ip, i*64+ 9) << 27;\ - IPB(ip, i*64+10, parm); w |= (uint64_t)IPV(ip, i*64+10) << 30;\ - IPB(ip, i*64+11, parm); w |= (uint64_t)IPV(ip, i*64+11) << 33;\ - IPB(ip, i*64+12, parm); w |= (uint64_t)IPV(ip, i*64+12) << 36;\ - IPB(ip, i*64+13, parm); w |= (uint64_t)IPV(ip, i*64+13) << 39;\ - IPB(ip, i*64+14, parm); w |= (uint64_t)IPV(ip, i*64+14) << 42;\ - IPB(ip, i*64+15, parm); w |= (uint64_t)IPV(ip, i*64+15) << 45;\ - IPB(ip, i*64+16, parm); w |= (uint64_t)IPV(ip, i*64+16) << 48;\ - IPB(ip, i*64+17, parm); w |= (uint64_t)IPV(ip, i*64+17) << 51;\ - IPB(ip, i*64+18, parm); w |= (uint64_t)IPV(ip, i*64+18) << 54;\ - IPB(ip, i*64+19, parm); w |= (uint64_t)IPV(ip, i*64+19) << 57;\ - IPB(ip, i*64+20, parm); w |= (uint64_t)IPV(ip, i*64+20) << 60 | (uint64_t)IPX(ip, i*64+21) << 63;*((uint64_t *)op+i*3+ 0) = w;\ - IPP(ip, i*64+21, parm); w = (uint64_t)IPW(ip, i*64+21) >> 1;\ - IPB(ip, i*64+22, parm); w |= (uint64_t)IPV(ip, i*64+22) << 2;\ - IPB(ip, i*64+23, parm); w |= (uint64_t)IPV(ip, i*64+23) << 5;\ - IPB(ip, i*64+24, parm); w |= (uint64_t)IPV(ip, i*64+24) << 8;\ - IPB(ip, i*64+25, parm); w |= (uint64_t)IPV(ip, i*64+25) << 11;\ - IPB(ip, i*64+26, parm); w |= (uint64_t)IPV(ip, i*64+26) << 14;\ - IPB(ip, i*64+27, parm); w |= (uint64_t)IPV(ip, i*64+27) << 17;\ - IPB(ip, i*64+28, parm); w |= (uint64_t)IPV(ip, i*64+28) << 20;\ - IPB(ip, i*64+29, parm); w |= (uint64_t)IPV(ip, i*64+29) << 23;\ - IPB(ip, i*64+30, parm); w |= (uint64_t)IPV(ip, i*64+30) << 26;\ - IPB(ip, i*64+31, parm); w |= (uint64_t)IPV(ip, i*64+31) << 29;*((uint64_t *)op+i*3+ 1) = w;;\ + IP9(ip, i*64+ 0, parm); w = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); w |= (uint64_t)IPV(ip, i*64+ 1) << 3;\ + IP9(ip, i*64+ 2, parm); w |= (uint64_t)IPV(ip, i*64+ 2) << 6;\ + IP9(ip, i*64+ 3, parm); w |= (uint64_t)IPV(ip, i*64+ 3) << 9;\ + IP9(ip, i*64+ 4, parm); w |= (uint64_t)IPV(ip, i*64+ 4) << 12;\ + IP9(ip, i*64+ 5, parm); w |= (uint64_t)IPV(ip, i*64+ 5) << 15;\ + IP9(ip, i*64+ 6, parm); w |= (uint64_t)IPV(ip, i*64+ 6) << 18;\ + IP9(ip, i*64+ 7, parm); w |= (uint64_t)IPV(ip, i*64+ 7) << 21;\ + IP9(ip, i*64+ 8, parm); w |= (uint64_t)IPV(ip, i*64+ 8) << 24;\ + IP9(ip, i*64+ 9, parm); w |= (uint64_t)IPV(ip, i*64+ 9) << 27;\ + IP9(ip, i*64+10, parm); w |= (uint64_t)IPV(ip, i*64+10) << 30;\ + IP9(ip, i*64+11, parm); w |= (uint64_t)IPV(ip, i*64+11) << 33;\ + IP9(ip, i*64+12, parm); w |= (uint64_t)IPV(ip, i*64+12) << 36;\ + IP9(ip, i*64+13, parm); w |= (uint64_t)IPV(ip, i*64+13) << 39;\ + IP9(ip, i*64+14, parm); w |= (uint64_t)IPV(ip, i*64+14) << 42;\ + IP9(ip, i*64+15, parm); w |= (uint64_t)IPV(ip, i*64+15) << 45;\ + IP9(ip, i*64+16, parm); w |= (uint64_t)IPV(ip, i*64+16) << 48;\ + IP9(ip, i*64+17, parm); w |= (uint64_t)IPV(ip, i*64+17) << 51;\ + IP9(ip, i*64+18, parm); w |= (uint64_t)IPV(ip, i*64+18) << 54;\ + IP9(ip, i*64+19, parm); w |= (uint64_t)IPV(ip, i*64+19) << 57;\ + IP9(ip, i*64+20, parm); w |= (uint64_t)IPV(ip, i*64+20) << 60 | (uint64_t)IPX(ip, i*64+21) << 63;*((uint64_t *)op+i*3+ 0) = w;\ + IP64(ip, i*64+21, parm); w = (uint64_t)IPW(ip, i*64+21) >> 1;\ + IP9(ip, i*64+22, parm); w |= (uint64_t)IPV(ip, i*64+22) << 2;\ + IP9(ip, i*64+23, parm); w |= (uint64_t)IPV(ip, i*64+23) << 5;\ + IP9(ip, i*64+24, parm); w |= (uint64_t)IPV(ip, i*64+24) << 8;\ + IP9(ip, i*64+25, parm); w |= (uint64_t)IPV(ip, i*64+25) << 11;\ + IP9(ip, i*64+26, parm); w |= (uint64_t)IPV(ip, i*64+26) << 14;\ + IP9(ip, i*64+27, parm); w |= (uint64_t)IPV(ip, i*64+27) << 17;\ + IP9(ip, i*64+28, parm); w |= (uint64_t)IPV(ip, i*64+28) << 20;\ + IP9(ip, i*64+29, parm); w |= (uint64_t)IPV(ip, i*64+29) << 23;\ + IP9(ip, i*64+30, parm); w |= (uint64_t)IPV(ip, i*64+30) << 26;\ + IP9(ip, i*64+31, parm); w |= (uint64_t)IPV(ip, i*64+31) << 29;*((uint64_t *)op+i*3+ 1) = w;;\ } #define BITPACK64_3(ip, op, parm) { \ @@ -141,22 +141,22 @@ } #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;\ - IPB(ip, i*16+ 3, parm); w |= (uint64_t)IPV(ip, i*16+ 3) << 12;\ - IPB(ip, i*16+ 4, parm); w |= (uint64_t)IPV(ip, i*16+ 4) << 16;\ - IPB(ip, i*16+ 5, parm); w |= (uint64_t)IPV(ip, i*16+ 5) << 20;\ - IPB(ip, i*16+ 6, parm); w |= (uint64_t)IPV(ip, i*16+ 6) << 24;\ - IPB(ip, i*16+ 7, parm); w |= (uint64_t)IPV(ip, i*16+ 7) << 28;\ - IPB(ip, i*16+ 8, parm); w |= (uint64_t)IPV(ip, i*16+ 8) << 32;\ - IPB(ip, i*16+ 9, parm); w |= (uint64_t)IPV(ip, i*16+ 9) << 36;\ - IPB(ip, i*16+10, parm); w |= (uint64_t)IPV(ip, i*16+10) << 40;\ - IPB(ip, i*16+11, parm); w |= (uint64_t)IPV(ip, i*16+11) << 44;\ - IPB(ip, i*16+12, parm); w |= (uint64_t)IPV(ip, i*16+12) << 48;\ - IPB(ip, i*16+13, parm); w |= (uint64_t)IPV(ip, i*16+13) << 52;\ - IPB(ip, i*16+14, parm); w |= (uint64_t)IPV(ip, i*16+14) << 56;\ - IPB(ip, i*16+15, parm); w |= (uint64_t)IPV(ip, i*16+15) << 60;*((uint64_t *)op+i*1+ 0) = w;;\ + IP9(ip, i*16+ 0, parm); w = (uint64_t)IPV(ip, i*16+ 0) ;\ + IP9(ip, i*16+ 1, parm); w |= (uint64_t)IPV(ip, i*16+ 1) << 4;\ + IP9(ip, i*16+ 2, parm); w |= (uint64_t)IPV(ip, i*16+ 2) << 8;\ + IP9(ip, i*16+ 3, parm); w |= (uint64_t)IPV(ip, i*16+ 3) << 12;\ + IP9(ip, i*16+ 4, parm); w |= (uint64_t)IPV(ip, i*16+ 4) << 16;\ + IP9(ip, i*16+ 5, parm); w |= (uint64_t)IPV(ip, i*16+ 5) << 20;\ + IP9(ip, i*16+ 6, parm); w |= (uint64_t)IPV(ip, i*16+ 6) << 24;\ + IP9(ip, i*16+ 7, parm); w |= (uint64_t)IPV(ip, i*16+ 7) << 28;\ + IP9(ip, i*16+ 8, parm); w |= (uint64_t)IPV(ip, i*16+ 8) << 32;\ + IP9(ip, i*16+ 9, parm); w |= (uint64_t)IPV(ip, i*16+ 9) << 36;\ + IP9(ip, i*16+10, parm); w |= (uint64_t)IPV(ip, i*16+10) << 40;\ + IP9(ip, i*16+11, parm); w |= (uint64_t)IPV(ip, i*16+11) << 44;\ + IP9(ip, i*16+12, parm); w |= (uint64_t)IPV(ip, i*16+12) << 48;\ + IP9(ip, i*16+13, parm); w |= (uint64_t)IPV(ip, i*16+13) << 52;\ + IP9(ip, i*16+14, parm); w |= (uint64_t)IPV(ip, i*16+14) << 56;\ + IP9(ip, i*16+15, parm); w |= (uint64_t)IPV(ip, i*16+15) << 60;*((uint64_t *)op+i*1+ 0) = w;;\ } #define BITPACK64_4(ip, op, parm) { \ @@ -165,38 +165,38 @@ } #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;\ - IPB(ip, i*64+ 3, parm); w |= (uint64_t)IPV(ip, i*64+ 3) << 15;\ - IPB(ip, i*64+ 4, parm); w |= (uint64_t)IPV(ip, i*64+ 4) << 20;\ - IPB(ip, i*64+ 5, parm); w |= (uint64_t)IPV(ip, i*64+ 5) << 25;\ - IPB(ip, i*64+ 6, parm); w |= (uint64_t)IPV(ip, i*64+ 6) << 30;\ - IPB(ip, i*64+ 7, parm); w |= (uint64_t)IPV(ip, i*64+ 7) << 35;\ - IPB(ip, i*64+ 8, parm); w |= (uint64_t)IPV(ip, i*64+ 8) << 40;\ - IPB(ip, i*64+ 9, parm); w |= (uint64_t)IPV(ip, i*64+ 9) << 45;\ - IPB(ip, i*64+10, parm); w |= (uint64_t)IPV(ip, i*64+10) << 50;\ - IPB(ip, i*64+11, parm); w |= (uint64_t)IPV(ip, i*64+11) << 55 | (uint64_t)IPX(ip, i*64+12) << 60;*((uint64_t *)op+i*5+ 0) = w;\ - IPP(ip, i*64+12, parm); w = (uint64_t)IPW(ip, i*64+12) >> 4;\ - IPB(ip, i*64+13, parm); w |= (uint64_t)IPV(ip, i*64+13) << 1;\ - IPB(ip, i*64+14, parm); w |= (uint64_t)IPV(ip, i*64+14) << 6;\ - IPB(ip, i*64+15, parm); w |= (uint64_t)IPV(ip, i*64+15) << 11;\ - IPB(ip, i*64+16, parm); w |= (uint64_t)IPV(ip, i*64+16) << 16;\ - IPB(ip, i*64+17, parm); w |= (uint64_t)IPV(ip, i*64+17) << 21;\ - IPB(ip, i*64+18, parm); w |= (uint64_t)IPV(ip, i*64+18) << 26;\ - IPB(ip, i*64+19, parm); w |= (uint64_t)IPV(ip, i*64+19) << 31;\ - IPB(ip, i*64+20, parm); w |= (uint64_t)IPV(ip, i*64+20) << 36;\ - IPB(ip, i*64+21, parm); w |= (uint64_t)IPV(ip, i*64+21) << 41;\ - IPB(ip, i*64+22, parm); w |= (uint64_t)IPV(ip, i*64+22) << 46;\ - IPB(ip, i*64+23, parm); w |= (uint64_t)IPV(ip, i*64+23) << 51;\ - IPB(ip, i*64+24, parm); w |= (uint64_t)IPV(ip, i*64+24) << 56 | (uint64_t)IPX(ip, i*64+25) << 61;*((uint64_t *)op+i*5+ 1) = w;\ - IPP(ip, i*64+25, parm); w = (uint64_t)IPW(ip, i*64+25) >> 3;\ - IPB(ip, i*64+26, parm); w |= (uint64_t)IPV(ip, i*64+26) << 2;\ - IPB(ip, i*64+27, parm); w |= (uint64_t)IPV(ip, i*64+27) << 7;\ - IPB(ip, i*64+28, parm); w |= (uint64_t)IPV(ip, i*64+28) << 12;\ - IPB(ip, i*64+29, parm); w |= (uint64_t)IPV(ip, i*64+29) << 17;\ - IPB(ip, i*64+30, parm); w |= (uint64_t)IPV(ip, i*64+30) << 22;\ - IPB(ip, i*64+31, parm); w |= (uint64_t)IPV(ip, i*64+31) << 27;*((uint64_t *)op+i*5+ 2) = w;;\ + IP9(ip, i*64+ 0, parm); w = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); w |= (uint64_t)IPV(ip, i*64+ 1) << 5;\ + IP9(ip, i*64+ 2, parm); w |= (uint64_t)IPV(ip, i*64+ 2) << 10;\ + IP9(ip, i*64+ 3, parm); w |= (uint64_t)IPV(ip, i*64+ 3) << 15;\ + IP9(ip, i*64+ 4, parm); w |= (uint64_t)IPV(ip, i*64+ 4) << 20;\ + IP9(ip, i*64+ 5, parm); w |= (uint64_t)IPV(ip, i*64+ 5) << 25;\ + IP9(ip, i*64+ 6, parm); w |= (uint64_t)IPV(ip, i*64+ 6) << 30;\ + IP9(ip, i*64+ 7, parm); w |= (uint64_t)IPV(ip, i*64+ 7) << 35;\ + IP9(ip, i*64+ 8, parm); w |= (uint64_t)IPV(ip, i*64+ 8) << 40;\ + IP9(ip, i*64+ 9, parm); w |= (uint64_t)IPV(ip, i*64+ 9) << 45;\ + IP9(ip, i*64+10, parm); w |= (uint64_t)IPV(ip, i*64+10) << 50;\ + IP9(ip, i*64+11, parm); w |= (uint64_t)IPV(ip, i*64+11) << 55 | (uint64_t)IPX(ip, i*64+12) << 60;*((uint64_t *)op+i*5+ 0) = w;\ + IP64(ip, i*64+12, parm); w = (uint64_t)IPW(ip, i*64+12) >> 4;\ + IP9(ip, i*64+13, parm); w |= (uint64_t)IPV(ip, i*64+13) << 1;\ + IP9(ip, i*64+14, parm); w |= (uint64_t)IPV(ip, i*64+14) << 6;\ + IP9(ip, i*64+15, parm); w |= (uint64_t)IPV(ip, i*64+15) << 11;\ + IP9(ip, i*64+16, parm); w |= (uint64_t)IPV(ip, i*64+16) << 16;\ + IP9(ip, i*64+17, parm); w |= (uint64_t)IPV(ip, i*64+17) << 21;\ + IP9(ip, i*64+18, parm); w |= (uint64_t)IPV(ip, i*64+18) << 26;\ + IP9(ip, i*64+19, parm); w |= (uint64_t)IPV(ip, i*64+19) << 31;\ + IP9(ip, i*64+20, parm); w |= (uint64_t)IPV(ip, i*64+20) << 36;\ + IP9(ip, i*64+21, parm); w |= (uint64_t)IPV(ip, i*64+21) << 41;\ + IP9(ip, i*64+22, parm); w |= (uint64_t)IPV(ip, i*64+22) << 46;\ + IP9(ip, i*64+23, parm); w |= (uint64_t)IPV(ip, i*64+23) << 51;\ + IP9(ip, i*64+24, parm); w |= (uint64_t)IPV(ip, i*64+24) << 56 | (uint64_t)IPX(ip, i*64+25) << 61;*((uint64_t *)op+i*5+ 1) = w;\ + IP64(ip, i*64+25, parm); w = (uint64_t)IPW(ip, i*64+25) >> 3;\ + IP9(ip, i*64+26, parm); w |= (uint64_t)IPV(ip, i*64+26) << 2;\ + IP9(ip, i*64+27, parm); w |= (uint64_t)IPV(ip, i*64+27) << 7;\ + IP9(ip, i*64+28, parm); w |= (uint64_t)IPV(ip, i*64+28) << 12;\ + IP9(ip, i*64+29, parm); w |= (uint64_t)IPV(ip, i*64+29) << 17;\ + IP9(ip, i*64+30, parm); w |= (uint64_t)IPV(ip, i*64+30) << 22;\ + IP9(ip, i*64+31, parm); w |= (uint64_t)IPV(ip, i*64+31) << 27;*((uint64_t *)op+i*5+ 2) = w;;\ } #define BITPACK64_5(ip, op, parm) { \ @@ -204,38 +204,38 @@ } #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;\ - IPB(ip, i*32+ 3, parm); w |= (uint64_t)IPV(ip, i*32+ 3) << 18;\ - IPB(ip, i*32+ 4, parm); w |= (uint64_t)IPV(ip, i*32+ 4) << 24;\ - IPB(ip, i*32+ 5, parm); w |= (uint64_t)IPV(ip, i*32+ 5) << 30;\ - IPB(ip, i*32+ 6, parm); w |= (uint64_t)IPV(ip, i*32+ 6) << 36;\ - IPB(ip, i*32+ 7, parm); w |= (uint64_t)IPV(ip, i*32+ 7) << 42;\ - IPB(ip, i*32+ 8, parm); w |= (uint64_t)IPV(ip, i*32+ 8) << 48;\ - IPB(ip, i*32+ 9, parm); w |= (uint64_t)IPV(ip, i*32+ 9) << 54 | (uint64_t)IPX(ip, i*32+10) << 60;*((uint64_t *)op+i*3+ 0) = w;\ - IPP(ip, i*32+10, parm); w = (uint64_t)IPW(ip, i*32+10) >> 4;\ - IPB(ip, i*32+11, parm); w |= (uint64_t)IPV(ip, i*32+11) << 2;\ - IPB(ip, i*32+12, parm); w |= (uint64_t)IPV(ip, i*32+12) << 8;\ - IPB(ip, i*32+13, parm); w |= (uint64_t)IPV(ip, i*32+13) << 14;\ - IPB(ip, i*32+14, parm); w |= (uint64_t)IPV(ip, i*32+14) << 20;\ - IPB(ip, i*32+15, parm); w |= (uint64_t)IPV(ip, i*32+15) << 26;\ - IPB(ip, i*32+16, parm); w |= (uint64_t)IPV(ip, i*32+16) << 32;\ - IPB(ip, i*32+17, parm); w |= (uint64_t)IPV(ip, i*32+17) << 38;\ - IPB(ip, i*32+18, parm); w |= (uint64_t)IPV(ip, i*32+18) << 44;\ - IPB(ip, i*32+19, parm); w |= (uint64_t)IPV(ip, i*32+19) << 50;\ - IPB(ip, i*32+20, parm); w |= (uint64_t)IPV(ip, i*32+20) << 56 | (uint64_t)IPX(ip, i*32+21) << 62;*((uint64_t *)op+i*3+ 1) = w;\ - IPP(ip, i*32+21, parm); w = (uint64_t)IPW(ip, i*32+21) >> 2;\ - IPB(ip, i*32+22, parm); w |= (uint64_t)IPV(ip, i*32+22) << 4;\ - IPB(ip, i*32+23, parm); w |= (uint64_t)IPV(ip, i*32+23) << 10;\ - IPB(ip, i*32+24, parm); w |= (uint64_t)IPV(ip, i*32+24) << 16;\ - IPB(ip, i*32+25, parm); w |= (uint64_t)IPV(ip, i*32+25) << 22;\ - IPB(ip, i*32+26, parm); w |= (uint64_t)IPV(ip, i*32+26) << 28;\ - IPB(ip, i*32+27, parm); w |= (uint64_t)IPV(ip, i*32+27) << 34;\ - IPB(ip, i*32+28, parm); w |= (uint64_t)IPV(ip, i*32+28) << 40;\ - IPB(ip, i*32+29, parm); w |= (uint64_t)IPV(ip, i*32+29) << 46;\ - IPB(ip, i*32+30, parm); w |= (uint64_t)IPV(ip, i*32+30) << 52;\ - IPB(ip, i*32+31, parm); w |= (uint64_t)IPV(ip, i*32+31) << 58;*((uint64_t *)op+i*3+ 2) = w;;\ + IP9(ip, i*32+ 0, parm); w = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); w |= (uint64_t)IPV(ip, i*32+ 1) << 6;\ + IP9(ip, i*32+ 2, parm); w |= (uint64_t)IPV(ip, i*32+ 2) << 12;\ + IP9(ip, i*32+ 3, parm); w |= (uint64_t)IPV(ip, i*32+ 3) << 18;\ + IP9(ip, i*32+ 4, parm); w |= (uint64_t)IPV(ip, i*32+ 4) << 24;\ + IP9(ip, i*32+ 5, parm); w |= (uint64_t)IPV(ip, i*32+ 5) << 30;\ + IP9(ip, i*32+ 6, parm); w |= (uint64_t)IPV(ip, i*32+ 6) << 36;\ + IP9(ip, i*32+ 7, parm); w |= (uint64_t)IPV(ip, i*32+ 7) << 42;\ + IP9(ip, i*32+ 8, parm); w |= (uint64_t)IPV(ip, i*32+ 8) << 48;\ + IP9(ip, i*32+ 9, parm); w |= (uint64_t)IPV(ip, i*32+ 9) << 54 | (uint64_t)IPX(ip, i*32+10) << 60;*((uint64_t *)op+i*3+ 0) = w;\ + IP64(ip, i*32+10, parm); w = (uint64_t)IPW(ip, i*32+10) >> 4;\ + IP9(ip, i*32+11, parm); w |= (uint64_t)IPV(ip, i*32+11) << 2;\ + IP9(ip, i*32+12, parm); w |= (uint64_t)IPV(ip, i*32+12) << 8;\ + IP9(ip, i*32+13, parm); w |= (uint64_t)IPV(ip, i*32+13) << 14;\ + IP9(ip, i*32+14, parm); w |= (uint64_t)IPV(ip, i*32+14) << 20;\ + IP9(ip, i*32+15, parm); w |= (uint64_t)IPV(ip, i*32+15) << 26;\ + IP9(ip, i*32+16, parm); w |= (uint64_t)IPV(ip, i*32+16) << 32;\ + IP9(ip, i*32+17, parm); w |= (uint64_t)IPV(ip, i*32+17) << 38;\ + IP9(ip, i*32+18, parm); w |= (uint64_t)IPV(ip, i*32+18) << 44;\ + IP9(ip, i*32+19, parm); w |= (uint64_t)IPV(ip, i*32+19) << 50;\ + IP9(ip, i*32+20, parm); w |= (uint64_t)IPV(ip, i*32+20) << 56 | (uint64_t)IPX(ip, i*32+21) << 62;*((uint64_t *)op+i*3+ 1) = w;\ + IP64(ip, i*32+21, parm); w = (uint64_t)IPW(ip, i*32+21) >> 2;\ + IP9(ip, i*32+22, parm); w |= (uint64_t)IPV(ip, i*32+22) << 4;\ + IP9(ip, i*32+23, parm); w |= (uint64_t)IPV(ip, i*32+23) << 10;\ + IP9(ip, i*32+24, parm); w |= (uint64_t)IPV(ip, i*32+24) << 16;\ + IP9(ip, i*32+25, parm); w |= (uint64_t)IPV(ip, i*32+25) << 22;\ + IP9(ip, i*32+26, parm); w |= (uint64_t)IPV(ip, i*32+26) << 28;\ + IP9(ip, i*32+27, parm); w |= (uint64_t)IPV(ip, i*32+27) << 34;\ + IP9(ip, i*32+28, parm); w |= (uint64_t)IPV(ip, i*32+28) << 40;\ + IP9(ip, i*32+29, parm); w |= (uint64_t)IPV(ip, i*32+29) << 46;\ + IP9(ip, i*32+30, parm); w |= (uint64_t)IPV(ip, i*32+30) << 52;\ + IP9(ip, i*32+31, parm); w |= (uint64_t)IPV(ip, i*32+31) << 58;*((uint64_t *)op+i*3+ 2) = w;;\ } #define BITPACK64_6(ip, op, parm) { \ @@ -243,38 +243,38 @@ } #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;\ - IPB(ip, i*64+ 3, parm); w |= (uint64_t)IPV(ip, i*64+ 3) << 21;\ - IPB(ip, i*64+ 4, parm); w |= (uint64_t)IPV(ip, i*64+ 4) << 28;\ - IPB(ip, i*64+ 5, parm); w |= (uint64_t)IPV(ip, i*64+ 5) << 35;\ - IPB(ip, i*64+ 6, parm); w |= (uint64_t)IPV(ip, i*64+ 6) << 42;\ - IPB(ip, i*64+ 7, parm); w |= (uint64_t)IPV(ip, i*64+ 7) << 49;\ - IPB(ip, i*64+ 8, parm); w |= (uint64_t)IPV(ip, i*64+ 8) << 56 | (uint64_t)IPX(ip, i*64+9) << 63;*((uint64_t *)op+i*7+ 0) = w;\ - IPP(ip, i*64+ 9, parm); w = (uint64_t)IPW(ip, i*64+ 9) >> 1;\ - IPB(ip, i*64+10, parm); w |= (uint64_t)IPV(ip, i*64+10) << 6;\ - IPB(ip, i*64+11, parm); w |= (uint64_t)IPV(ip, i*64+11) << 13;\ - IPB(ip, i*64+12, parm); w |= (uint64_t)IPV(ip, i*64+12) << 20;\ - IPB(ip, i*64+13, parm); w |= (uint64_t)IPV(ip, i*64+13) << 27;\ - IPB(ip, i*64+14, parm); w |= (uint64_t)IPV(ip, i*64+14) << 34;\ - IPB(ip, i*64+15, parm); w |= (uint64_t)IPV(ip, i*64+15) << 41;\ - IPB(ip, i*64+16, parm); w |= (uint64_t)IPV(ip, i*64+16) << 48;\ - IPB(ip, i*64+17, parm); w |= (uint64_t)IPV(ip, i*64+17) << 55 | (uint64_t)IPX(ip, i*64+18) << 62;*((uint64_t *)op+i*7+ 1) = w;\ - IPP(ip, i*64+18, parm); w = (uint64_t)IPW(ip, i*64+18) >> 2;\ - IPB(ip, i*64+19, parm); w |= (uint64_t)IPV(ip, i*64+19) << 5;\ - IPB(ip, i*64+20, parm); w |= (uint64_t)IPV(ip, i*64+20) << 12;\ - IPB(ip, i*64+21, parm); w |= (uint64_t)IPV(ip, i*64+21) << 19;\ - IPB(ip, i*64+22, parm); w |= (uint64_t)IPV(ip, i*64+22) << 26;\ - IPB(ip, i*64+23, parm); w |= (uint64_t)IPV(ip, i*64+23) << 33;\ - IPB(ip, i*64+24, parm); w |= (uint64_t)IPV(ip, i*64+24) << 40;\ - IPB(ip, i*64+25, parm); w |= (uint64_t)IPV(ip, i*64+25) << 47;\ - IPB(ip, i*64+26, parm); w |= (uint64_t)IPV(ip, i*64+26) << 54 | (uint64_t)IPX(ip, i*64+27) << 61;*((uint64_t *)op+i*7+ 2) = w;\ - IPP(ip, i*64+27, parm); w = (uint64_t)IPW(ip, i*64+27) >> 3;\ - IPB(ip, i*64+28, parm); w |= (uint64_t)IPV(ip, i*64+28) << 4;\ - IPB(ip, i*64+29, parm); w |= (uint64_t)IPV(ip, i*64+29) << 11;\ - IPB(ip, i*64+30, parm); w |= (uint64_t)IPV(ip, i*64+30) << 18;\ - IPB(ip, i*64+31, parm); w |= (uint64_t)IPV(ip, i*64+31) << 25;*((uint64_t *)op+i*7+ 3) = w;;\ + IP9(ip, i*64+ 0, parm); w = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); w |= (uint64_t)IPV(ip, i*64+ 1) << 7;\ + IP9(ip, i*64+ 2, parm); w |= (uint64_t)IPV(ip, i*64+ 2) << 14;\ + IP9(ip, i*64+ 3, parm); w |= (uint64_t)IPV(ip, i*64+ 3) << 21;\ + IP9(ip, i*64+ 4, parm); w |= (uint64_t)IPV(ip, i*64+ 4) << 28;\ + IP9(ip, i*64+ 5, parm); w |= (uint64_t)IPV(ip, i*64+ 5) << 35;\ + IP9(ip, i*64+ 6, parm); w |= (uint64_t)IPV(ip, i*64+ 6) << 42;\ + IP9(ip, i*64+ 7, parm); w |= (uint64_t)IPV(ip, i*64+ 7) << 49;\ + IP9(ip, i*64+ 8, parm); w |= (uint64_t)IPV(ip, i*64+ 8) << 56 | (uint64_t)IPX(ip, i*64+9) << 63;*((uint64_t *)op+i*7+ 0) = w;\ + IP64(ip, i*64+ 9, parm); w = (uint64_t)IPW(ip, i*64+ 9) >> 1;\ + IP9(ip, i*64+10, parm); w |= (uint64_t)IPV(ip, i*64+10) << 6;\ + IP9(ip, i*64+11, parm); w |= (uint64_t)IPV(ip, i*64+11) << 13;\ + IP9(ip, i*64+12, parm); w |= (uint64_t)IPV(ip, i*64+12) << 20;\ + IP9(ip, i*64+13, parm); w |= (uint64_t)IPV(ip, i*64+13) << 27;\ + IP9(ip, i*64+14, parm); w |= (uint64_t)IPV(ip, i*64+14) << 34;\ + IP9(ip, i*64+15, parm); w |= (uint64_t)IPV(ip, i*64+15) << 41;\ + IP9(ip, i*64+16, parm); w |= (uint64_t)IPV(ip, i*64+16) << 48;\ + IP9(ip, i*64+17, parm); w |= (uint64_t)IPV(ip, i*64+17) << 55 | (uint64_t)IPX(ip, i*64+18) << 62;*((uint64_t *)op+i*7+ 1) = w;\ + IP64(ip, i*64+18, parm); w = (uint64_t)IPW(ip, i*64+18) >> 2;\ + IP9(ip, i*64+19, parm); w |= (uint64_t)IPV(ip, i*64+19) << 5;\ + IP9(ip, i*64+20, parm); w |= (uint64_t)IPV(ip, i*64+20) << 12;\ + IP9(ip, i*64+21, parm); w |= (uint64_t)IPV(ip, i*64+21) << 19;\ + IP9(ip, i*64+22, parm); w |= (uint64_t)IPV(ip, i*64+22) << 26;\ + IP9(ip, i*64+23, parm); w |= (uint64_t)IPV(ip, i*64+23) << 33;\ + IP9(ip, i*64+24, parm); w |= (uint64_t)IPV(ip, i*64+24) << 40;\ + IP9(ip, i*64+25, parm); w |= (uint64_t)IPV(ip, i*64+25) << 47;\ + IP9(ip, i*64+26, parm); w |= (uint64_t)IPV(ip, i*64+26) << 54 | (uint64_t)IPX(ip, i*64+27) << 61;*((uint64_t *)op+i*7+ 2) = w;\ + IP64(ip, i*64+27, parm); w = (uint64_t)IPW(ip, i*64+27) >> 3;\ + IP9(ip, i*64+28, parm); w |= (uint64_t)IPV(ip, i*64+28) << 4;\ + IP9(ip, i*64+29, parm); w |= (uint64_t)IPV(ip, i*64+29) << 11;\ + IP9(ip, i*64+30, parm); w |= (uint64_t)IPV(ip, i*64+30) << 18;\ + IP9(ip, i*64+31, parm); w |= (uint64_t)IPV(ip, i*64+31) << 25;*((uint64_t *)op+i*7+ 3) = w;;\ } #define BITPACK64_7(ip, op, parm) { \ @@ -282,14 +282,14 @@ } #define BITBLK64_8(ip, i, op, parm) { ;\ - IPB(ip, i*8+ 0, parm); *((uint64_t *)op+i*1+ 0) = (uint64_t)IPV(ip, i*8+ 0) ;\ - IPB(ip, i*8+ 1, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 1) << 8;\ - IPB(ip, i*8+ 2, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 2) << 16;\ - IPB(ip, i*8+ 3, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 3) << 24;\ - IPB(ip, i*8+ 4, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 4) << 32;\ - IPB(ip, i*8+ 5, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 5) << 40;\ - IPB(ip, i*8+ 6, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 6) << 48;\ - IPB(ip, i*8+ 7, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 7) << 56;\ + IP9(ip, i*8+ 0, parm); *((uint64_t *)op+i*1+ 0) = (uint64_t)IPV(ip, i*8+ 0) ;\ + IP9(ip, i*8+ 1, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 1) << 8;\ + IP9(ip, i*8+ 2, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 2) << 16;\ + IP9(ip, i*8+ 3, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 3) << 24;\ + IP9(ip, i*8+ 4, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 4) << 32;\ + IP9(ip, i*8+ 5, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 5) << 40;\ + IP9(ip, i*8+ 6, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 6) << 48;\ + IP9(ip, i*8+ 7, parm); *((uint64_t *)op+i*1+ 0) |= (uint64_t)IPV(ip, i*8+ 7) << 56;\ } #define BITPACK64_8(ip, op, parm) { \ @@ -300,38 +300,38 @@ } #define BITBLK64_9(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*9+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 9;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 18;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 27;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 4) << 36;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 5) << 45;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 6) << 54 | (uint64_t)IPX(ip, i*64+7) << 63;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*9+ 1) = (uint64_t)IPW(ip, i*64+ 7) >> 1;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+ 8) << 8;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+ 9) << 17;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+10) << 26;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+11) << 35;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+12) << 44;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+13) << 53 | (uint64_t)IPX(ip, i*64+14) << 62;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*9+ 2) = (uint64_t)IPW(ip, i*64+14) >> 2;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+15) << 7;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+16) << 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+17) << 25;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+18) << 34;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+19) << 43;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+20) << 52 | (uint64_t)IPX(ip, i*64+21) << 61;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*9+ 3) = (uint64_t)IPW(ip, i*64+21) >> 3;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+22) << 6;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+23) << 15;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+24) << 24;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+25) << 33;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+26) << 42;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+27) << 51 | (uint64_t)IPX(ip, i*64+28) << 60;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*9+ 4) = (uint64_t)IPW(ip, i*64+28) >> 4;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*64+29) << 5;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*64+30) << 14;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*64+31) << 23;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*9+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 9;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 18;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 27;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 4) << 36;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 5) << 45;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*64+ 6) << 54 | (uint64_t)IPX(ip, i*64+7) << 63;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*9+ 1) = (uint64_t)IPW(ip, i*64+ 7) >> 1;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+ 8) << 8;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+ 9) << 17;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+10) << 26;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+11) << 35;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+12) << 44;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*64+13) << 53 | (uint64_t)IPX(ip, i*64+14) << 62;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*9+ 2) = (uint64_t)IPW(ip, i*64+14) >> 2;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+15) << 7;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+16) << 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+17) << 25;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+18) << 34;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+19) << 43;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*64+20) << 52 | (uint64_t)IPX(ip, i*64+21) << 61;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*9+ 3) = (uint64_t)IPW(ip, i*64+21) >> 3;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+22) << 6;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+23) << 15;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+24) << 24;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+25) << 33;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+26) << 42;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*64+27) << 51 | (uint64_t)IPX(ip, i*64+28) << 60;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*9+ 4) = (uint64_t)IPW(ip, i*64+28) >> 4;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*64+29) << 5;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*64+30) << 14;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*64+31) << 23;\ } #define BITPACK64_9(ip, op, parm) { \ @@ -339,38 +339,38 @@ } #define BITBLK64_10(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*5+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ - IPB(ip, i*32+ 1, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 10;\ - IPB(ip, i*32+ 2, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 2) << 20;\ - IPB(ip, i*32+ 3, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 3) << 30;\ - IPB(ip, i*32+ 4, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 4) << 40;\ - IPB(ip, i*32+ 5, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 5) << 50 | (uint64_t)IPX(ip, i*32+6) << 60;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*5+ 1) = (uint64_t)IPW(ip, i*32+ 6) >> 4;\ - IPB(ip, i*32+ 7, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+ 7) << 6;\ - IPB(ip, i*32+ 8, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+ 8) << 16;\ - IPB(ip, i*32+ 9, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+ 9) << 26;\ - IPB(ip, i*32+10, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+10) << 36;\ - IPB(ip, i*32+11, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+11) << 46 | (uint64_t)IPX(ip, i*32+12) << 56;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*5+ 2) = (uint64_t)IPW(ip, i*32+12) >> 8;\ - IPB(ip, i*32+13, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+13) << 2;\ - IPB(ip, i*32+14, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+14) << 12;\ - IPB(ip, i*32+15, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+15) << 22;\ - IPB(ip, i*32+16, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+16) << 32;\ - IPB(ip, i*32+17, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+17) << 42;\ - IPB(ip, i*32+18, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+18) << 52 | (uint64_t)IPX(ip, i*32+19) << 62;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*5+ 3) = (uint64_t)IPW(ip, i*32+19) >> 2;\ - IPB(ip, i*32+20, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+20) << 8;\ - IPB(ip, i*32+21, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+21) << 18;\ - IPB(ip, i*32+22, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+22) << 28;\ - IPB(ip, i*32+23, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+23) << 38;\ - IPB(ip, i*32+24, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+24) << 48 | (uint64_t)IPX(ip, i*32+25) << 58;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*5+ 4) = (uint64_t)IPW(ip, i*32+25) >> 6;\ - IPB(ip, i*32+26, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+26) << 4;\ - IPB(ip, i*32+27, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+27) << 14;\ - IPB(ip, i*32+28, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+28) << 24;\ - IPB(ip, i*32+29, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+29) << 34;\ - IPB(ip, i*32+30, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+30) << 44;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+31) << 54;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*5+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 10;\ + IP9(ip, i*32+ 2, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 2) << 20;\ + IP9(ip, i*32+ 3, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 3) << 30;\ + IP9(ip, i*32+ 4, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 4) << 40;\ + IP9(ip, i*32+ 5, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*32+ 5) << 50 | (uint64_t)IPX(ip, i*32+6) << 60;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*5+ 1) = (uint64_t)IPW(ip, i*32+ 6) >> 4;\ + IP9(ip, i*32+ 7, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+ 7) << 6;\ + IP9(ip, i*32+ 8, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+ 8) << 16;\ + IP9(ip, i*32+ 9, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+ 9) << 26;\ + IP9(ip, i*32+10, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+10) << 36;\ + IP9(ip, i*32+11, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*32+11) << 46 | (uint64_t)IPX(ip, i*32+12) << 56;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*5+ 2) = (uint64_t)IPW(ip, i*32+12) >> 8;\ + IP9(ip, i*32+13, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+13) << 2;\ + IP9(ip, i*32+14, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+14) << 12;\ + IP9(ip, i*32+15, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+15) << 22;\ + IP9(ip, i*32+16, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+16) << 32;\ + IP9(ip, i*32+17, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+17) << 42;\ + IP9(ip, i*32+18, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*32+18) << 52 | (uint64_t)IPX(ip, i*32+19) << 62;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*5+ 3) = (uint64_t)IPW(ip, i*32+19) >> 2;\ + IP9(ip, i*32+20, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+20) << 8;\ + IP9(ip, i*32+21, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+21) << 18;\ + IP9(ip, i*32+22, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+22) << 28;\ + IP9(ip, i*32+23, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+23) << 38;\ + IP9(ip, i*32+24, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*32+24) << 48 | (uint64_t)IPX(ip, i*32+25) << 58;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*5+ 4) = (uint64_t)IPW(ip, i*32+25) >> 6;\ + IP9(ip, i*32+26, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+26) << 4;\ + IP9(ip, i*32+27, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+27) << 14;\ + IP9(ip, i*32+28, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+28) << 24;\ + IP9(ip, i*32+29, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+29) << 34;\ + IP9(ip, i*32+30, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+30) << 44;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*32+31) << 54;\ } #define BITPACK64_10(ip, op, parm) { \ @@ -378,38 +378,38 @@ } #define BITBLK64_11(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*11+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 11;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 22;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 33;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 4) << 44 | (uint64_t)IPX(ip, i*64+5) << 55;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*11+ 1) = (uint64_t)IPW(ip, i*64+ 5) >> 9;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 2;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 7) << 13;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 8) << 24;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 9) << 35;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+10) << 46 | (uint64_t)IPX(ip, i*64+11) << 57;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*11+ 2) = (uint64_t)IPW(ip, i*64+11) >> 7;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+12) << 4;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+13) << 15;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+14) << 26;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+15) << 37;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+16) << 48 | (uint64_t)IPX(ip, i*64+17) << 59;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*11+ 3) = (uint64_t)IPW(ip, i*64+17) >> 5;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+18) << 6;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+19) << 17;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+20) << 28;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+21) << 39;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+22) << 50 | (uint64_t)IPX(ip, i*64+23) << 61;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*11+ 4) = (uint64_t)IPW(ip, i*64+23) >> 3;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+24) << 8;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+25) << 19;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+26) << 30;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+27) << 41;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+28) << 52 | (uint64_t)IPX(ip, i*64+29) << 63;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*11+ 5) = (uint64_t)IPW(ip, i*64+29) >> 1;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*64+30) << 10;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*64+31) << 21;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*11+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 11;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 22;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 33;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*64+ 4) << 44 | (uint64_t)IPX(ip, i*64+5) << 55;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*11+ 1) = (uint64_t)IPW(ip, i*64+ 5) >> 9;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 2;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 7) << 13;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 8) << 24;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+ 9) << 35;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*64+10) << 46 | (uint64_t)IPX(ip, i*64+11) << 57;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*11+ 2) = (uint64_t)IPW(ip, i*64+11) >> 7;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+12) << 4;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+13) << 15;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+14) << 26;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+15) << 37;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*64+16) << 48 | (uint64_t)IPX(ip, i*64+17) << 59;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*11+ 3) = (uint64_t)IPW(ip, i*64+17) >> 5;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+18) << 6;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+19) << 17;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+20) << 28;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+21) << 39;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*64+22) << 50 | (uint64_t)IPX(ip, i*64+23) << 61;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*11+ 4) = (uint64_t)IPW(ip, i*64+23) >> 3;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+24) << 8;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+25) << 19;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+26) << 30;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+27) << 41;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*64+28) << 52 | (uint64_t)IPX(ip, i*64+29) << 63;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*11+ 5) = (uint64_t)IPW(ip, i*64+29) >> 1;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*64+30) << 10;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*64+31) << 21;\ } #define BITPACK64_11(ip, op, parm) { \ @@ -417,22 +417,22 @@ } #define BITBLK64_12(ip, i, op, parm) { ;\ - IPB(ip, i*16+ 0, parm); *((uint64_t *)op+i*3+ 0) = (uint64_t)IPV(ip, i*16+ 0) ;\ - IPB(ip, i*16+ 1, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 1) << 12;\ - IPB(ip, i*16+ 2, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 2) << 24;\ - IPB(ip, i*16+ 3, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 3) << 36;\ - IPB(ip, i*16+ 4, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 4) << 48 | (uint64_t)IPX(ip, i*16+5) << 60;\ - IPP(ip, i*16+ 5, parm); *((uint64_t *)op+i*3+ 1) = (uint64_t)IPW(ip, i*16+ 5) >> 4;\ - IPB(ip, i*16+ 6, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 6) << 8;\ - IPB(ip, i*16+ 7, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 7) << 20;\ - IPB(ip, i*16+ 8, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 8) << 32;\ - IPB(ip, i*16+ 9, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 9) << 44 | (uint64_t)IPX(ip, i*16+10) << 56;\ - IPP(ip, i*16+10, parm); *((uint64_t *)op+i*3+ 2) = (uint64_t)IPW(ip, i*16+10) >> 8;\ - IPB(ip, i*16+11, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+11) << 4;\ - IPB(ip, i*16+12, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+12) << 16;\ - IPB(ip, i*16+13, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+13) << 28;\ - IPB(ip, i*16+14, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+14) << 40;\ - IPB(ip, i*16+15, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+15) << 52;\ + IP9(ip, i*16+ 0, parm); *((uint64_t *)op+i*3+ 0) = (uint64_t)IPV(ip, i*16+ 0) ;\ + IP9(ip, i*16+ 1, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 1) << 12;\ + IP9(ip, i*16+ 2, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 2) << 24;\ + IP9(ip, i*16+ 3, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 3) << 36;\ + IP9(ip, i*16+ 4, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*16+ 4) << 48 | (uint64_t)IPX(ip, i*16+5) << 60;\ + IP64(ip, i*16+ 5, parm); *((uint64_t *)op+i*3+ 1) = (uint64_t)IPW(ip, i*16+ 5) >> 4;\ + IP9(ip, i*16+ 6, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 6) << 8;\ + IP9(ip, i*16+ 7, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 7) << 20;\ + IP9(ip, i*16+ 8, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 8) << 32;\ + IP9(ip, i*16+ 9, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*16+ 9) << 44 | (uint64_t)IPX(ip, i*16+10) << 56;\ + IP64(ip, i*16+10, parm); *((uint64_t *)op+i*3+ 2) = (uint64_t)IPW(ip, i*16+10) >> 8;\ + IP9(ip, i*16+11, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+11) << 4;\ + IP9(ip, i*16+12, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+12) << 16;\ + IP9(ip, i*16+13, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+13) << 28;\ + IP9(ip, i*16+14, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+14) << 40;\ + IP9(ip, i*16+15, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*16+15) << 52;\ } #define BITPACK64_12(ip, op, parm) { \ @@ -441,38 +441,38 @@ } #define BITBLK64_13(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*13+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 13;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 26;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 39 | (uint64_t)IPX(ip, i*64+4) << 52;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*13+ 1) = (uint64_t)IPW(ip, i*64+ 4) >> 12;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 1;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 14;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 7) << 27;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 8) << 40 | (uint64_t)IPX(ip, i*64+9) << 53;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*13+ 2) = (uint64_t)IPW(ip, i*64+ 9) >> 11;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+10) << 2;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+11) << 15;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+12) << 28;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+13) << 41 | (uint64_t)IPX(ip, i*64+14) << 54;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*13+ 3) = (uint64_t)IPW(ip, i*64+14) >> 10;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+15) << 3;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+16) << 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+17) << 29;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+18) << 42 | (uint64_t)IPX(ip, i*64+19) << 55;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*13+ 4) = (uint64_t)IPW(ip, i*64+19) >> 9;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+20) << 4;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+21) << 17;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+22) << 30;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+23) << 43 | (uint64_t)IPX(ip, i*64+24) << 56;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*13+ 5) = (uint64_t)IPW(ip, i*64+24) >> 8;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+25) << 5;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+26) << 18;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+27) << 31;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+28) << 44 | (uint64_t)IPX(ip, i*64+29) << 57;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*13+ 6) = (uint64_t)IPW(ip, i*64+29) >> 7;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*64+30) << 6;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*64+31) << 19;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*13+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 13;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 26;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 39 | (uint64_t)IPX(ip, i*64+4) << 52;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*13+ 1) = (uint64_t)IPW(ip, i*64+ 4) >> 12;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 1;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 14;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 7) << 27;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*64+ 8) << 40 | (uint64_t)IPX(ip, i*64+9) << 53;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*13+ 2) = (uint64_t)IPW(ip, i*64+ 9) >> 11;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+10) << 2;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+11) << 15;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+12) << 28;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*64+13) << 41 | (uint64_t)IPX(ip, i*64+14) << 54;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*13+ 3) = (uint64_t)IPW(ip, i*64+14) >> 10;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+15) << 3;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+16) << 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+17) << 29;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*64+18) << 42 | (uint64_t)IPX(ip, i*64+19) << 55;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*13+ 4) = (uint64_t)IPW(ip, i*64+19) >> 9;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+20) << 4;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+21) << 17;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+22) << 30;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*64+23) << 43 | (uint64_t)IPX(ip, i*64+24) << 56;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*13+ 5) = (uint64_t)IPW(ip, i*64+24) >> 8;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+25) << 5;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+26) << 18;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+27) << 31;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*64+28) << 44 | (uint64_t)IPX(ip, i*64+29) << 57;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*13+ 6) = (uint64_t)IPW(ip, i*64+29) >> 7;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*64+30) << 6;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*64+31) << 19;\ } #define BITPACK64_13(ip, op, parm) { \ @@ -480,38 +480,38 @@ } #define BITBLK64_14(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*7+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ - IPB(ip, i*32+ 1, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 14;\ - IPB(ip, i*32+ 2, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*32+ 2) << 28;\ - IPB(ip, i*32+ 3, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*32+ 3) << 42 | (uint64_t)IPX(ip, i*32+4) << 56;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*7+ 1) = (uint64_t)IPW(ip, i*32+ 4) >> 8;\ - IPB(ip, i*32+ 5, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 5) << 6;\ - IPB(ip, i*32+ 6, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 6) << 20;\ - IPB(ip, i*32+ 7, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 7) << 34;\ - IPB(ip, i*32+ 8, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 8) << 48 | (uint64_t)IPX(ip, i*32+9) << 62;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*7+ 2) = (uint64_t)IPW(ip, i*32+ 9) >> 2;\ - IPB(ip, i*32+10, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*32+10) << 12;\ - IPB(ip, i*32+11, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*32+11) << 26;\ - IPB(ip, i*32+12, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*32+12) << 40 | (uint64_t)IPX(ip, i*32+13) << 54;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*7+ 3) = (uint64_t)IPW(ip, i*32+13) >> 10;\ - IPB(ip, i*32+14, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+14) << 4;\ - IPB(ip, i*32+15, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+15) << 18;\ - IPB(ip, i*32+16, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+16) << 32;\ - IPB(ip, i*32+17, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+17) << 46 | (uint64_t)IPX(ip, i*32+18) << 60;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*7+ 4) = (uint64_t)IPW(ip, i*32+18) >> 4;\ - IPB(ip, i*32+19, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*32+19) << 10;\ - IPB(ip, i*32+20, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*32+20) << 24;\ - IPB(ip, i*32+21, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*32+21) << 38 | (uint64_t)IPX(ip, i*32+22) << 52;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*7+ 5) = (uint64_t)IPW(ip, i*32+22) >> 12;\ - IPB(ip, i*32+23, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+23) << 2;\ - IPB(ip, i*32+24, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+24) << 16;\ - IPB(ip, i*32+25, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+25) << 30;\ - IPB(ip, i*32+26, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+26) << 44 | (uint64_t)IPX(ip, i*32+27) << 58;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*7+ 6) = (uint64_t)IPW(ip, i*32+27) >> 6;\ - IPB(ip, i*32+28, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+28) << 8;\ - IPB(ip, i*32+29, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+29) << 22;\ - IPB(ip, i*32+30, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+30) << 36;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+31) << 50;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*7+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 14;\ + IP9(ip, i*32+ 2, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*32+ 2) << 28;\ + IP9(ip, i*32+ 3, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*32+ 3) << 42 | (uint64_t)IPX(ip, i*32+4) << 56;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*7+ 1) = (uint64_t)IPW(ip, i*32+ 4) >> 8;\ + IP9(ip, i*32+ 5, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 5) << 6;\ + IP9(ip, i*32+ 6, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 6) << 20;\ + IP9(ip, i*32+ 7, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 7) << 34;\ + IP9(ip, i*32+ 8, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*32+ 8) << 48 | (uint64_t)IPX(ip, i*32+9) << 62;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*7+ 2) = (uint64_t)IPW(ip, i*32+ 9) >> 2;\ + IP9(ip, i*32+10, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*32+10) << 12;\ + IP9(ip, i*32+11, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*32+11) << 26;\ + IP9(ip, i*32+12, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*32+12) << 40 | (uint64_t)IPX(ip, i*32+13) << 54;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*7+ 3) = (uint64_t)IPW(ip, i*32+13) >> 10;\ + IP9(ip, i*32+14, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+14) << 4;\ + IP9(ip, i*32+15, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+15) << 18;\ + IP9(ip, i*32+16, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+16) << 32;\ + IP9(ip, i*32+17, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*32+17) << 46 | (uint64_t)IPX(ip, i*32+18) << 60;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*7+ 4) = (uint64_t)IPW(ip, i*32+18) >> 4;\ + IP9(ip, i*32+19, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*32+19) << 10;\ + IP9(ip, i*32+20, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*32+20) << 24;\ + IP9(ip, i*32+21, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*32+21) << 38 | (uint64_t)IPX(ip, i*32+22) << 52;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*7+ 5) = (uint64_t)IPW(ip, i*32+22) >> 12;\ + IP9(ip, i*32+23, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+23) << 2;\ + IP9(ip, i*32+24, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+24) << 16;\ + IP9(ip, i*32+25, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+25) << 30;\ + IP9(ip, i*32+26, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*32+26) << 44 | (uint64_t)IPX(ip, i*32+27) << 58;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*7+ 6) = (uint64_t)IPW(ip, i*32+27) >> 6;\ + IP9(ip, i*32+28, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+28) << 8;\ + IP9(ip, i*32+29, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+29) << 22;\ + IP9(ip, i*32+30, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+30) << 36;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*32+31) << 50;\ } #define BITPACK64_14(ip, op, parm) { \ @@ -519,38 +519,38 @@ } #define BITBLK64_15(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*15+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 15;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 30;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 45 | (uint64_t)IPX(ip, i*64+4) << 60;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*15+ 1) = (uint64_t)IPW(ip, i*64+ 4) >> 4;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 11;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 26;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*64+ 7) << 41 | (uint64_t)IPX(ip, i*64+8) << 56;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*15+ 2) = (uint64_t)IPW(ip, i*64+ 8) >> 8;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*64+ 9) << 7;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*64+10) << 22;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*64+11) << 37 | (uint64_t)IPX(ip, i*64+12) << 52;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*15+ 3) = (uint64_t)IPW(ip, i*64+12) >> 12;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+13) << 3;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+14) << 18;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+15) << 33;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+16) << 48 | (uint64_t)IPX(ip, i*64+17) << 63;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*15+ 4) = (uint64_t)IPW(ip, i*64+17) >> 1;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*64+18) << 14;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*64+19) << 29;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*64+20) << 44 | (uint64_t)IPX(ip, i*64+21) << 59;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*15+ 5) = (uint64_t)IPW(ip, i*64+21) >> 5;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*64+22) << 10;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*64+23) << 25;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*64+24) << 40 | (uint64_t)IPX(ip, i*64+25) << 55;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*15+ 6) = (uint64_t)IPW(ip, i*64+25) >> 9;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*64+26) << 6;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*64+27) << 21;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*64+28) << 36 | (uint64_t)IPX(ip, i*64+29) << 51;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*15+ 7) = (uint64_t)IPW(ip, i*64+29) >> 13;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*64+30) << 2;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*64+31) << 17;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*15+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 15;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 30;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*64+ 3) << 45 | (uint64_t)IPX(ip, i*64+4) << 60;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*15+ 1) = (uint64_t)IPW(ip, i*64+ 4) >> 4;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 11;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 26;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*64+ 7) << 41 | (uint64_t)IPX(ip, i*64+8) << 56;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*15+ 2) = (uint64_t)IPW(ip, i*64+ 8) >> 8;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*64+ 9) << 7;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*64+10) << 22;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*64+11) << 37 | (uint64_t)IPX(ip, i*64+12) << 52;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*15+ 3) = (uint64_t)IPW(ip, i*64+12) >> 12;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+13) << 3;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+14) << 18;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+15) << 33;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*64+16) << 48 | (uint64_t)IPX(ip, i*64+17) << 63;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*15+ 4) = (uint64_t)IPW(ip, i*64+17) >> 1;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*64+18) << 14;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*64+19) << 29;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*64+20) << 44 | (uint64_t)IPX(ip, i*64+21) << 59;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*15+ 5) = (uint64_t)IPW(ip, i*64+21) >> 5;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*64+22) << 10;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*64+23) << 25;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*64+24) << 40 | (uint64_t)IPX(ip, i*64+25) << 55;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*15+ 6) = (uint64_t)IPW(ip, i*64+25) >> 9;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*64+26) << 6;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*64+27) << 21;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*64+28) << 36 | (uint64_t)IPX(ip, i*64+29) << 51;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*15+ 7) = (uint64_t)IPW(ip, i*64+29) >> 13;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*64+30) << 2;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*64+31) << 17;\ } #define BITPACK64_15(ip, op, parm) { \ @@ -558,10 +558,10 @@ } #define BITBLK64_16(ip, i, op, parm) { \ - IPB(ip, i*4+ 0, parm); *(uint16_t *)(op+i*8+ 0) = IPV(ip, i*4+ 0);\ - IPB(ip, i*4+ 1, parm); *(uint16_t *)(op+i*8+ 2) = IPV(ip, i*4+ 1);\ - IPB(ip, i*4+ 2, parm); *(uint16_t *)(op+i*8+ 4) = IPV(ip, i*4+ 2);\ - IPB(ip, i*4+ 3, parm); *(uint16_t *)(op+i*8+ 6) = IPV(ip, i*4+ 3);;\ + IP9(ip, i*4+ 0, parm); *(uint16_t *)(op+i*8+ 0) = IPV(ip, i*4+ 0);\ + IP9(ip, i*4+ 1, parm); *(uint16_t *)(op+i*8+ 2) = IPV(ip, i*4+ 1);\ + IP9(ip, i*4+ 2, parm); *(uint16_t *)(op+i*8+ 4) = IPV(ip, i*4+ 2);\ + IP9(ip, i*4+ 3, parm); *(uint16_t *)(op+i*8+ 6) = IPV(ip, i*4+ 3);;\ } #define BITPACK64_16(ip, op, parm) { \ @@ -576,38 +576,38 @@ } #define BITBLK64_17(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*17+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*17+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 17;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*17+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 34 | (uint64_t)IPX(ip, i*64+3) << 51;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*17+ 1) = (uint64_t)IPW(ip, i*64+ 3) >> 13;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 4;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 21;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 38 | (uint64_t)IPX(ip, i*64+7) << 55;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*17+ 2) = (uint64_t)IPW(ip, i*64+ 7) >> 9;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*64+ 8) << 8;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*64+ 9) << 25;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*64+10) << 42 | (uint64_t)IPX(ip, i*64+11) << 59;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*17+ 3) = (uint64_t)IPW(ip, i*64+11) >> 5;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*64+12) << 12;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*64+13) << 29;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*64+14) << 46 | (uint64_t)IPX(ip, i*64+15) << 63;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*17+ 4) = (uint64_t)IPW(ip, i*64+15) >> 1;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*17+ 4) |= (uint64_t)IPV(ip, i*64+16) << 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*17+ 4) |= (uint64_t)IPV(ip, i*64+17) << 33 | (uint64_t)IPX(ip, i*64+18) << 50;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*17+ 5) = (uint64_t)IPW(ip, i*64+18) >> 14;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*64+19) << 3;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*64+20) << 20;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*64+21) << 37 | (uint64_t)IPX(ip, i*64+22) << 54;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*17+ 6) = (uint64_t)IPW(ip, i*64+22) >> 10;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*64+23) << 7;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*64+24) << 24;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*64+25) << 41 | (uint64_t)IPX(ip, i*64+26) << 58;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*17+ 7) = (uint64_t)IPW(ip, i*64+26) >> 6;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*64+27) << 11;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*64+28) << 28;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*64+29) << 45 | (uint64_t)IPX(ip, i*64+30) << 62;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*17+ 8) = (uint64_t)IPW(ip, i*64+30) >> 2;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*17+ 8) |= (uint64_t)IPV(ip, i*64+31) << 15;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*17+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*17+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 17;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*17+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 34 | (uint64_t)IPX(ip, i*64+3) << 51;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*17+ 1) = (uint64_t)IPW(ip, i*64+ 3) >> 13;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 4;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 21;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*64+ 6) << 38 | (uint64_t)IPX(ip, i*64+7) << 55;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*17+ 2) = (uint64_t)IPW(ip, i*64+ 7) >> 9;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*64+ 8) << 8;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*64+ 9) << 25;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*64+10) << 42 | (uint64_t)IPX(ip, i*64+11) << 59;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*17+ 3) = (uint64_t)IPW(ip, i*64+11) >> 5;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*64+12) << 12;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*64+13) << 29;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*64+14) << 46 | (uint64_t)IPX(ip, i*64+15) << 63;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*17+ 4) = (uint64_t)IPW(ip, i*64+15) >> 1;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*17+ 4) |= (uint64_t)IPV(ip, i*64+16) << 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*17+ 4) |= (uint64_t)IPV(ip, i*64+17) << 33 | (uint64_t)IPX(ip, i*64+18) << 50;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*17+ 5) = (uint64_t)IPW(ip, i*64+18) >> 14;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*64+19) << 3;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*64+20) << 20;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*64+21) << 37 | (uint64_t)IPX(ip, i*64+22) << 54;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*17+ 6) = (uint64_t)IPW(ip, i*64+22) >> 10;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*64+23) << 7;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*64+24) << 24;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*64+25) << 41 | (uint64_t)IPX(ip, i*64+26) << 58;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*17+ 7) = (uint64_t)IPW(ip, i*64+26) >> 6;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*64+27) << 11;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*64+28) << 28;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*64+29) << 45 | (uint64_t)IPX(ip, i*64+30) << 62;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*17+ 8) = (uint64_t)IPW(ip, i*64+30) >> 2;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*17+ 8) |= (uint64_t)IPV(ip, i*64+31) << 15;\ } #define BITPACK64_17(ip, op, parm) { \ @@ -615,38 +615,38 @@ } #define BITBLK64_18(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*9+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ - IPB(ip, i*32+ 1, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 18;\ - IPB(ip, i*32+ 2, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*32+ 2) << 36 | (uint64_t)IPX(ip, i*32+3) << 54;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*9+ 1) = (uint64_t)IPW(ip, i*32+ 3) >> 10;\ - IPB(ip, i*32+ 4, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*32+ 4) << 8;\ - IPB(ip, i*32+ 5, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*32+ 5) << 26;\ - IPB(ip, i*32+ 6, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*32+ 6) << 44 | (uint64_t)IPX(ip, i*32+7) << 62;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*9+ 2) = (uint64_t)IPW(ip, i*32+ 7) >> 2;\ - IPB(ip, i*32+ 8, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*32+ 8) << 16;\ - IPB(ip, i*32+ 9, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*32+ 9) << 34 | (uint64_t)IPX(ip, i*32+10) << 52;\ - IPP(ip, i*32+10, parm); *((uint64_t *)op+i*9+ 3) = (uint64_t)IPW(ip, i*32+10) >> 12;\ - IPB(ip, i*32+11, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*32+11) << 6;\ - IPB(ip, i*32+12, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*32+12) << 24;\ - IPB(ip, i*32+13, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*32+13) << 42 | (uint64_t)IPX(ip, i*32+14) << 60;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*9+ 4) = (uint64_t)IPW(ip, i*32+14) >> 4;\ - IPB(ip, i*32+15, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*32+15) << 14;\ - IPB(ip, i*32+16, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 50;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*9+ 5) = (uint64_t)IPW(ip, i*32+17) >> 14;\ - IPB(ip, i*32+18, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*32+18) << 4;\ - IPB(ip, i*32+19, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*32+19) << 22;\ - IPB(ip, i*32+20, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*32+20) << 40 | (uint64_t)IPX(ip, i*32+21) << 58;\ - IPP(ip, i*32+21, parm); *((uint64_t *)op+i*9+ 6) = (uint64_t)IPW(ip, i*32+21) >> 6;\ - IPB(ip, i*32+22, parm); *((uint64_t *)op+i*9+ 6) |= (uint64_t)IPV(ip, i*32+22) << 12;\ - IPB(ip, i*32+23, parm); *((uint64_t *)op+i*9+ 6) |= (uint64_t)IPV(ip, i*32+23) << 30 | (uint64_t)IPX(ip, i*32+24) << 48;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*9+ 7) = (uint64_t)IPW(ip, i*32+24) >> 16;\ - IPB(ip, i*32+25, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*32+25) << 2;\ - IPB(ip, i*32+26, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*32+26) << 20;\ - IPB(ip, i*32+27, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*32+27) << 38 | (uint64_t)IPX(ip, i*32+28) << 56;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*9+ 8) = (uint64_t)IPW(ip, i*32+28) >> 8;\ - IPB(ip, i*32+29, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*32+29) << 10;\ - IPB(ip, i*32+30, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*32+30) << 28;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*32+31) << 46;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*9+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 18;\ + IP9(ip, i*32+ 2, parm); *((uint64_t *)op+i*9+ 0) |= (uint64_t)IPV(ip, i*32+ 2) << 36 | (uint64_t)IPX(ip, i*32+3) << 54;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*9+ 1) = (uint64_t)IPW(ip, i*32+ 3) >> 10;\ + IP9(ip, i*32+ 4, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*32+ 4) << 8;\ + IP9(ip, i*32+ 5, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*32+ 5) << 26;\ + IP9(ip, i*32+ 6, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*32+ 6) << 44 | (uint64_t)IPX(ip, i*32+7) << 62;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*9+ 2) = (uint64_t)IPW(ip, i*32+ 7) >> 2;\ + IP9(ip, i*32+ 8, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*32+ 8) << 16;\ + IP9(ip, i*32+ 9, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*32+ 9) << 34 | (uint64_t)IPX(ip, i*32+10) << 52;\ + IP64(ip, i*32+10, parm); *((uint64_t *)op+i*9+ 3) = (uint64_t)IPW(ip, i*32+10) >> 12;\ + IP9(ip, i*32+11, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*32+11) << 6;\ + IP9(ip, i*32+12, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*32+12) << 24;\ + IP9(ip, i*32+13, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*32+13) << 42 | (uint64_t)IPX(ip, i*32+14) << 60;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*9+ 4) = (uint64_t)IPW(ip, i*32+14) >> 4;\ + IP9(ip, i*32+15, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*32+15) << 14;\ + IP9(ip, i*32+16, parm); *((uint64_t *)op+i*9+ 4) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 50;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*9+ 5) = (uint64_t)IPW(ip, i*32+17) >> 14;\ + IP9(ip, i*32+18, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*32+18) << 4;\ + IP9(ip, i*32+19, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*32+19) << 22;\ + IP9(ip, i*32+20, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*32+20) << 40 | (uint64_t)IPX(ip, i*32+21) << 58;\ + IP64(ip, i*32+21, parm); *((uint64_t *)op+i*9+ 6) = (uint64_t)IPW(ip, i*32+21) >> 6;\ + IP9(ip, i*32+22, parm); *((uint64_t *)op+i*9+ 6) |= (uint64_t)IPV(ip, i*32+22) << 12;\ + IP9(ip, i*32+23, parm); *((uint64_t *)op+i*9+ 6) |= (uint64_t)IPV(ip, i*32+23) << 30 | (uint64_t)IPX(ip, i*32+24) << 48;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*9+ 7) = (uint64_t)IPW(ip, i*32+24) >> 16;\ + IP9(ip, i*32+25, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*32+25) << 2;\ + IP9(ip, i*32+26, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*32+26) << 20;\ + IP9(ip, i*32+27, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*32+27) << 38 | (uint64_t)IPX(ip, i*32+28) << 56;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*9+ 8) = (uint64_t)IPW(ip, i*32+28) >> 8;\ + IP9(ip, i*32+29, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*32+29) << 10;\ + IP9(ip, i*32+30, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*32+30) << 28;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*32+31) << 46;\ } #define BITPACK64_18(ip, op, parm) { \ @@ -654,38 +654,38 @@ } #define BITBLK64_19(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*19+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*19+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 19;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*19+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 38 | (uint64_t)IPX(ip, i*64+3) << 57;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*19+ 1) = (uint64_t)IPW(ip, i*64+ 3) >> 7;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*19+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 12;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*19+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 31 | (uint64_t)IPX(ip, i*64+6) << 50;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*19+ 2) = (uint64_t)IPW(ip, i*64+ 6) >> 14;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*64+ 7) << 5;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*64+ 8) << 24;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*64+ 9) << 43 | (uint64_t)IPX(ip, i*64+10) << 62;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*19+ 3) = (uint64_t)IPW(ip, i*64+10) >> 2;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*19+ 3) |= (uint64_t)IPV(ip, i*64+11) << 17;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*19+ 3) |= (uint64_t)IPV(ip, i*64+12) << 36 | (uint64_t)IPX(ip, i*64+13) << 55;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*19+ 4) = (uint64_t)IPW(ip, i*64+13) >> 9;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*19+ 4) |= (uint64_t)IPV(ip, i*64+14) << 10;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*19+ 4) |= (uint64_t)IPV(ip, i*64+15) << 29 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*19+ 5) = (uint64_t)IPW(ip, i*64+16) >> 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*64+17) << 3;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*64+18) << 22;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*64+19) << 41 | (uint64_t)IPX(ip, i*64+20) << 60;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*19+ 6) = (uint64_t)IPW(ip, i*64+20) >> 4;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*19+ 6) |= (uint64_t)IPV(ip, i*64+21) << 15;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*19+ 6) |= (uint64_t)IPV(ip, i*64+22) << 34 | (uint64_t)IPX(ip, i*64+23) << 53;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*19+ 7) = (uint64_t)IPW(ip, i*64+23) >> 11;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*19+ 7) |= (uint64_t)IPV(ip, i*64+24) << 8;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*19+ 7) |= (uint64_t)IPV(ip, i*64+25) << 27 | (uint64_t)IPX(ip, i*64+26) << 46;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*19+ 8) = (uint64_t)IPW(ip, i*64+26) >> 18;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*64+27) << 1;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*64+28) << 20;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*64+29) << 39 | (uint64_t)IPX(ip, i*64+30) << 58;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*19+ 9) = (uint64_t)IPW(ip, i*64+30) >> 6;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*19+ 9) |= (uint64_t)IPV(ip, i*64+31) << 13;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*19+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*19+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 19;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*19+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 38 | (uint64_t)IPX(ip, i*64+3) << 57;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*19+ 1) = (uint64_t)IPW(ip, i*64+ 3) >> 7;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*19+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 12;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*19+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 31 | (uint64_t)IPX(ip, i*64+6) << 50;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*19+ 2) = (uint64_t)IPW(ip, i*64+ 6) >> 14;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*64+ 7) << 5;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*64+ 8) << 24;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*64+ 9) << 43 | (uint64_t)IPX(ip, i*64+10) << 62;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*19+ 3) = (uint64_t)IPW(ip, i*64+10) >> 2;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*19+ 3) |= (uint64_t)IPV(ip, i*64+11) << 17;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*19+ 3) |= (uint64_t)IPV(ip, i*64+12) << 36 | (uint64_t)IPX(ip, i*64+13) << 55;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*19+ 4) = (uint64_t)IPW(ip, i*64+13) >> 9;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*19+ 4) |= (uint64_t)IPV(ip, i*64+14) << 10;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*19+ 4) |= (uint64_t)IPV(ip, i*64+15) << 29 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*19+ 5) = (uint64_t)IPW(ip, i*64+16) >> 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*64+17) << 3;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*64+18) << 22;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*64+19) << 41 | (uint64_t)IPX(ip, i*64+20) << 60;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*19+ 6) = (uint64_t)IPW(ip, i*64+20) >> 4;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*19+ 6) |= (uint64_t)IPV(ip, i*64+21) << 15;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*19+ 6) |= (uint64_t)IPV(ip, i*64+22) << 34 | (uint64_t)IPX(ip, i*64+23) << 53;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*19+ 7) = (uint64_t)IPW(ip, i*64+23) >> 11;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*19+ 7) |= (uint64_t)IPV(ip, i*64+24) << 8;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*19+ 7) |= (uint64_t)IPV(ip, i*64+25) << 27 | (uint64_t)IPX(ip, i*64+26) << 46;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*19+ 8) = (uint64_t)IPW(ip, i*64+26) >> 18;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*64+27) << 1;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*64+28) << 20;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*64+29) << 39 | (uint64_t)IPX(ip, i*64+30) << 58;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*19+ 9) = (uint64_t)IPW(ip, i*64+30) >> 6;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*19+ 9) |= (uint64_t)IPV(ip, i*64+31) << 13;\ } #define BITPACK64_19(ip, op, parm) { \ @@ -693,22 +693,22 @@ } #define BITBLK64_20(ip, i, op, parm) { ;\ - IPB(ip, i*16+ 0, parm); *((uint64_t *)op+i*5+ 0) = (uint64_t)IPV(ip, i*16+ 0) ;\ - IPB(ip, i*16+ 1, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*16+ 1) << 20;\ - IPB(ip, i*16+ 2, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*16+ 2) << 40 | (uint64_t)IPX(ip, i*16+3) << 60;\ - IPP(ip, i*16+ 3, parm); *((uint64_t *)op+i*5+ 1) = (uint64_t)IPW(ip, i*16+ 3) >> 4;\ - IPB(ip, i*16+ 4, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*16+ 4) << 16;\ - IPB(ip, i*16+ 5, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*16+ 5) << 36 | (uint64_t)IPX(ip, i*16+6) << 56;\ - IPP(ip, i*16+ 6, parm); *((uint64_t *)op+i*5+ 2) = (uint64_t)IPW(ip, i*16+ 6) >> 8;\ - IPB(ip, i*16+ 7, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*16+ 7) << 12;\ - IPB(ip, i*16+ 8, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*16+ 8) << 32 | (uint64_t)IPX(ip, i*16+9) << 52;\ - IPP(ip, i*16+ 9, parm); *((uint64_t *)op+i*5+ 3) = (uint64_t)IPW(ip, i*16+ 9) >> 12;\ - IPB(ip, i*16+10, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*16+10) << 8;\ - IPB(ip, i*16+11, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*16+11) << 28 | (uint64_t)IPX(ip, i*16+12) << 48;\ - IPP(ip, i*16+12, parm); *((uint64_t *)op+i*5+ 4) = (uint64_t)IPW(ip, i*16+12) >> 16;\ - IPB(ip, i*16+13, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*16+13) << 4;\ - IPB(ip, i*16+14, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*16+14) << 24;\ - IPB(ip, i*16+15, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*16+15) << 44;\ + IP9(ip, i*16+ 0, parm); *((uint64_t *)op+i*5+ 0) = (uint64_t)IPV(ip, i*16+ 0) ;\ + IP9(ip, i*16+ 1, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*16+ 1) << 20;\ + IP9(ip, i*16+ 2, parm); *((uint64_t *)op+i*5+ 0) |= (uint64_t)IPV(ip, i*16+ 2) << 40 | (uint64_t)IPX(ip, i*16+3) << 60;\ + IP64(ip, i*16+ 3, parm); *((uint64_t *)op+i*5+ 1) = (uint64_t)IPW(ip, i*16+ 3) >> 4;\ + IP9(ip, i*16+ 4, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*16+ 4) << 16;\ + IP9(ip, i*16+ 5, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*16+ 5) << 36 | (uint64_t)IPX(ip, i*16+6) << 56;\ + IP64(ip, i*16+ 6, parm); *((uint64_t *)op+i*5+ 2) = (uint64_t)IPW(ip, i*16+ 6) >> 8;\ + IP9(ip, i*16+ 7, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*16+ 7) << 12;\ + IP9(ip, i*16+ 8, parm); *((uint64_t *)op+i*5+ 2) |= (uint64_t)IPV(ip, i*16+ 8) << 32 | (uint64_t)IPX(ip, i*16+9) << 52;\ + IP64(ip, i*16+ 9, parm); *((uint64_t *)op+i*5+ 3) = (uint64_t)IPW(ip, i*16+ 9) >> 12;\ + IP9(ip, i*16+10, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*16+10) << 8;\ + IP9(ip, i*16+11, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*16+11) << 28 | (uint64_t)IPX(ip, i*16+12) << 48;\ + IP64(ip, i*16+12, parm); *((uint64_t *)op+i*5+ 4) = (uint64_t)IPW(ip, i*16+12) >> 16;\ + IP9(ip, i*16+13, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*16+13) << 4;\ + IP9(ip, i*16+14, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*16+14) << 24;\ + IP9(ip, i*16+15, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*16+15) << 44;\ } #define BITPACK64_20(ip, op, parm) { \ @@ -717,38 +717,38 @@ } #define BITBLK64_21(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*21+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*21+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 21;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*21+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 42 | (uint64_t)IPX(ip, i*64+3) << 63;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*21+ 1) = (uint64_t)IPW(ip, i*64+ 3) >> 1;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*21+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 20;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*21+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 41 | (uint64_t)IPX(ip, i*64+6) << 62;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*21+ 2) = (uint64_t)IPW(ip, i*64+ 6) >> 2;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*21+ 2) |= (uint64_t)IPV(ip, i*64+ 7) << 19;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*21+ 2) |= (uint64_t)IPV(ip, i*64+ 8) << 40 | (uint64_t)IPX(ip, i*64+9) << 61;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*21+ 3) = (uint64_t)IPW(ip, i*64+ 9) >> 3;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*21+ 3) |= (uint64_t)IPV(ip, i*64+10) << 18;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*21+ 3) |= (uint64_t)IPV(ip, i*64+11) << 39 | (uint64_t)IPX(ip, i*64+12) << 60;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*21+ 4) = (uint64_t)IPW(ip, i*64+12) >> 4;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*21+ 4) |= (uint64_t)IPV(ip, i*64+13) << 17;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*21+ 4) |= (uint64_t)IPV(ip, i*64+14) << 38 | (uint64_t)IPX(ip, i*64+15) << 59;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*21+ 5) = (uint64_t)IPW(ip, i*64+15) >> 5;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*21+ 5) |= (uint64_t)IPV(ip, i*64+16) << 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*21+ 5) |= (uint64_t)IPV(ip, i*64+17) << 37 | (uint64_t)IPX(ip, i*64+18) << 58;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*21+ 6) = (uint64_t)IPW(ip, i*64+18) >> 6;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*21+ 6) |= (uint64_t)IPV(ip, i*64+19) << 15;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*21+ 6) |= (uint64_t)IPV(ip, i*64+20) << 36 | (uint64_t)IPX(ip, i*64+21) << 57;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*21+ 7) = (uint64_t)IPW(ip, i*64+21) >> 7;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*21+ 7) |= (uint64_t)IPV(ip, i*64+22) << 14;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*21+ 7) |= (uint64_t)IPV(ip, i*64+23) << 35 | (uint64_t)IPX(ip, i*64+24) << 56;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*21+ 8) = (uint64_t)IPW(ip, i*64+24) >> 8;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*21+ 8) |= (uint64_t)IPV(ip, i*64+25) << 13;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*21+ 8) |= (uint64_t)IPV(ip, i*64+26) << 34 | (uint64_t)IPX(ip, i*64+27) << 55;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*21+ 9) = (uint64_t)IPW(ip, i*64+27) >> 9;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*21+ 9) |= (uint64_t)IPV(ip, i*64+28) << 12;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*21+ 9) |= (uint64_t)IPV(ip, i*64+29) << 33 | (uint64_t)IPX(ip, i*64+30) << 54;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*21+10) = (uint64_t)IPW(ip, i*64+30) >> 10;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*21+10) |= (uint64_t)IPV(ip, i*64+31) << 11;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*21+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*21+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 21;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*21+ 0) |= (uint64_t)IPV(ip, i*64+ 2) << 42 | (uint64_t)IPX(ip, i*64+3) << 63;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*21+ 1) = (uint64_t)IPW(ip, i*64+ 3) >> 1;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*21+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 20;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*21+ 1) |= (uint64_t)IPV(ip, i*64+ 5) << 41 | (uint64_t)IPX(ip, i*64+6) << 62;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*21+ 2) = (uint64_t)IPW(ip, i*64+ 6) >> 2;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*21+ 2) |= (uint64_t)IPV(ip, i*64+ 7) << 19;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*21+ 2) |= (uint64_t)IPV(ip, i*64+ 8) << 40 | (uint64_t)IPX(ip, i*64+9) << 61;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*21+ 3) = (uint64_t)IPW(ip, i*64+ 9) >> 3;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*21+ 3) |= (uint64_t)IPV(ip, i*64+10) << 18;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*21+ 3) |= (uint64_t)IPV(ip, i*64+11) << 39 | (uint64_t)IPX(ip, i*64+12) << 60;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*21+ 4) = (uint64_t)IPW(ip, i*64+12) >> 4;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*21+ 4) |= (uint64_t)IPV(ip, i*64+13) << 17;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*21+ 4) |= (uint64_t)IPV(ip, i*64+14) << 38 | (uint64_t)IPX(ip, i*64+15) << 59;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*21+ 5) = (uint64_t)IPW(ip, i*64+15) >> 5;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*21+ 5) |= (uint64_t)IPV(ip, i*64+16) << 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*21+ 5) |= (uint64_t)IPV(ip, i*64+17) << 37 | (uint64_t)IPX(ip, i*64+18) << 58;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*21+ 6) = (uint64_t)IPW(ip, i*64+18) >> 6;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*21+ 6) |= (uint64_t)IPV(ip, i*64+19) << 15;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*21+ 6) |= (uint64_t)IPV(ip, i*64+20) << 36 | (uint64_t)IPX(ip, i*64+21) << 57;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*21+ 7) = (uint64_t)IPW(ip, i*64+21) >> 7;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*21+ 7) |= (uint64_t)IPV(ip, i*64+22) << 14;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*21+ 7) |= (uint64_t)IPV(ip, i*64+23) << 35 | (uint64_t)IPX(ip, i*64+24) << 56;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*21+ 8) = (uint64_t)IPW(ip, i*64+24) >> 8;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*21+ 8) |= (uint64_t)IPV(ip, i*64+25) << 13;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*21+ 8) |= (uint64_t)IPV(ip, i*64+26) << 34 | (uint64_t)IPX(ip, i*64+27) << 55;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*21+ 9) = (uint64_t)IPW(ip, i*64+27) >> 9;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*21+ 9) |= (uint64_t)IPV(ip, i*64+28) << 12;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*21+ 9) |= (uint64_t)IPV(ip, i*64+29) << 33 | (uint64_t)IPX(ip, i*64+30) << 54;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*21+10) = (uint64_t)IPW(ip, i*64+30) >> 10;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*21+10) |= (uint64_t)IPV(ip, i*64+31) << 11;\ } #define BITPACK64_21(ip, op, parm) { \ @@ -756,38 +756,38 @@ } #define BITBLK64_22(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*11+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ - IPB(ip, i*32+ 1, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 22 | (uint64_t)IPX(ip, i*32+2) << 44;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*11+ 1) = (uint64_t)IPW(ip, i*32+ 2) >> 20;\ - IPB(ip, i*32+ 3, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*32+ 3) << 2;\ - IPB(ip, i*32+ 4, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*32+ 4) << 24 | (uint64_t)IPX(ip, i*32+5) << 46;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*11+ 2) = (uint64_t)IPW(ip, i*32+ 5) >> 18;\ - IPB(ip, i*32+ 6, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*32+ 6) << 4;\ - IPB(ip, i*32+ 7, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*32+ 7) << 26 | (uint64_t)IPX(ip, i*32+8) << 48;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*11+ 3) = (uint64_t)IPW(ip, i*32+ 8) >> 16;\ - IPB(ip, i*32+ 9, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*32+ 9) << 6;\ - IPB(ip, i*32+10, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*32+10) << 28 | (uint64_t)IPX(ip, i*32+11) << 50;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*11+ 4) = (uint64_t)IPW(ip, i*32+11) >> 14;\ - IPB(ip, i*32+12, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*32+12) << 8;\ - IPB(ip, i*32+13, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*32+13) << 30 | (uint64_t)IPX(ip, i*32+14) << 52;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*11+ 5) = (uint64_t)IPW(ip, i*32+14) >> 12;\ - IPB(ip, i*32+15, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*32+15) << 10;\ - IPB(ip, i*32+16, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 54;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*11+ 6) = (uint64_t)IPW(ip, i*32+17) >> 10;\ - IPB(ip, i*32+18, parm); *((uint64_t *)op+i*11+ 6) |= (uint64_t)IPV(ip, i*32+18) << 12;\ - IPB(ip, i*32+19, parm); *((uint64_t *)op+i*11+ 6) |= (uint64_t)IPV(ip, i*32+19) << 34 | (uint64_t)IPX(ip, i*32+20) << 56;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*11+ 7) = (uint64_t)IPW(ip, i*32+20) >> 8;\ - IPB(ip, i*32+21, parm); *((uint64_t *)op+i*11+ 7) |= (uint64_t)IPV(ip, i*32+21) << 14;\ - IPB(ip, i*32+22, parm); *((uint64_t *)op+i*11+ 7) |= (uint64_t)IPV(ip, i*32+22) << 36 | (uint64_t)IPX(ip, i*32+23) << 58;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*11+ 8) = (uint64_t)IPW(ip, i*32+23) >> 6;\ - IPB(ip, i*32+24, parm); *((uint64_t *)op+i*11+ 8) |= (uint64_t)IPV(ip, i*32+24) << 16;\ - IPB(ip, i*32+25, parm); *((uint64_t *)op+i*11+ 8) |= (uint64_t)IPV(ip, i*32+25) << 38 | (uint64_t)IPX(ip, i*32+26) << 60;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*11+ 9) = (uint64_t)IPW(ip, i*32+26) >> 4;\ - IPB(ip, i*32+27, parm); *((uint64_t *)op+i*11+ 9) |= (uint64_t)IPV(ip, i*32+27) << 18;\ - IPB(ip, i*32+28, parm); *((uint64_t *)op+i*11+ 9) |= (uint64_t)IPV(ip, i*32+28) << 40 | (uint64_t)IPX(ip, i*32+29) << 62;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*11+10) = (uint64_t)IPW(ip, i*32+29) >> 2;\ - IPB(ip, i*32+30, parm); *((uint64_t *)op+i*11+10) |= (uint64_t)IPV(ip, i*32+30) << 20;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*11+10) |= (uint64_t)IPV(ip, i*32+31) << 42;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*11+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); *((uint64_t *)op+i*11+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 22 | (uint64_t)IPX(ip, i*32+2) << 44;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*11+ 1) = (uint64_t)IPW(ip, i*32+ 2) >> 20;\ + IP9(ip, i*32+ 3, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*32+ 3) << 2;\ + IP9(ip, i*32+ 4, parm); *((uint64_t *)op+i*11+ 1) |= (uint64_t)IPV(ip, i*32+ 4) << 24 | (uint64_t)IPX(ip, i*32+5) << 46;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*11+ 2) = (uint64_t)IPW(ip, i*32+ 5) >> 18;\ + IP9(ip, i*32+ 6, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*32+ 6) << 4;\ + IP9(ip, i*32+ 7, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*32+ 7) << 26 | (uint64_t)IPX(ip, i*32+8) << 48;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*11+ 3) = (uint64_t)IPW(ip, i*32+ 8) >> 16;\ + IP9(ip, i*32+ 9, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*32+ 9) << 6;\ + IP9(ip, i*32+10, parm); *((uint64_t *)op+i*11+ 3) |= (uint64_t)IPV(ip, i*32+10) << 28 | (uint64_t)IPX(ip, i*32+11) << 50;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*11+ 4) = (uint64_t)IPW(ip, i*32+11) >> 14;\ + IP9(ip, i*32+12, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*32+12) << 8;\ + IP9(ip, i*32+13, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*32+13) << 30 | (uint64_t)IPX(ip, i*32+14) << 52;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*11+ 5) = (uint64_t)IPW(ip, i*32+14) >> 12;\ + IP9(ip, i*32+15, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*32+15) << 10;\ + IP9(ip, i*32+16, parm); *((uint64_t *)op+i*11+ 5) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 54;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*11+ 6) = (uint64_t)IPW(ip, i*32+17) >> 10;\ + IP9(ip, i*32+18, parm); *((uint64_t *)op+i*11+ 6) |= (uint64_t)IPV(ip, i*32+18) << 12;\ + IP9(ip, i*32+19, parm); *((uint64_t *)op+i*11+ 6) |= (uint64_t)IPV(ip, i*32+19) << 34 | (uint64_t)IPX(ip, i*32+20) << 56;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*11+ 7) = (uint64_t)IPW(ip, i*32+20) >> 8;\ + IP9(ip, i*32+21, parm); *((uint64_t *)op+i*11+ 7) |= (uint64_t)IPV(ip, i*32+21) << 14;\ + IP9(ip, i*32+22, parm); *((uint64_t *)op+i*11+ 7) |= (uint64_t)IPV(ip, i*32+22) << 36 | (uint64_t)IPX(ip, i*32+23) << 58;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*11+ 8) = (uint64_t)IPW(ip, i*32+23) >> 6;\ + IP9(ip, i*32+24, parm); *((uint64_t *)op+i*11+ 8) |= (uint64_t)IPV(ip, i*32+24) << 16;\ + IP9(ip, i*32+25, parm); *((uint64_t *)op+i*11+ 8) |= (uint64_t)IPV(ip, i*32+25) << 38 | (uint64_t)IPX(ip, i*32+26) << 60;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*11+ 9) = (uint64_t)IPW(ip, i*32+26) >> 4;\ + IP9(ip, i*32+27, parm); *((uint64_t *)op+i*11+ 9) |= (uint64_t)IPV(ip, i*32+27) << 18;\ + IP9(ip, i*32+28, parm); *((uint64_t *)op+i*11+ 9) |= (uint64_t)IPV(ip, i*32+28) << 40 | (uint64_t)IPX(ip, i*32+29) << 62;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*11+10) = (uint64_t)IPW(ip, i*32+29) >> 2;\ + IP9(ip, i*32+30, parm); *((uint64_t *)op+i*11+10) |= (uint64_t)IPV(ip, i*32+30) << 20;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*11+10) |= (uint64_t)IPV(ip, i*32+31) << 42;\ } #define BITPACK64_22(ip, op, parm) { \ @@ -795,38 +795,38 @@ } #define BITBLK64_23(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*23+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*23+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 23 | (uint64_t)IPX(ip, i*64+2) << 46;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*23+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 18;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*23+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 5;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*23+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 28 | (uint64_t)IPX(ip, i*64+5) << 51;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*23+ 2) = (uint64_t)IPW(ip, i*64+ 5) >> 13;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*23+ 2) |= (uint64_t)IPV(ip, i*64+ 6) << 10;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*23+ 2) |= (uint64_t)IPV(ip, i*64+ 7) << 33 | (uint64_t)IPX(ip, i*64+8) << 56;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*23+ 3) = (uint64_t)IPW(ip, i*64+ 8) >> 8;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*23+ 3) |= (uint64_t)IPV(ip, i*64+ 9) << 15;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*23+ 3) |= (uint64_t)IPV(ip, i*64+10) << 38 | (uint64_t)IPX(ip, i*64+11) << 61;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*23+ 4) = (uint64_t)IPW(ip, i*64+11) >> 3;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*23+ 4) |= (uint64_t)IPV(ip, i*64+12) << 20 | (uint64_t)IPX(ip, i*64+13) << 43;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*23+ 5) = (uint64_t)IPW(ip, i*64+13) >> 21;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*23+ 5) |= (uint64_t)IPV(ip, i*64+14) << 2;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*23+ 5) |= (uint64_t)IPV(ip, i*64+15) << 25 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*23+ 6) = (uint64_t)IPW(ip, i*64+16) >> 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*23+ 6) |= (uint64_t)IPV(ip, i*64+17) << 7;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*23+ 6) |= (uint64_t)IPV(ip, i*64+18) << 30 | (uint64_t)IPX(ip, i*64+19) << 53;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*23+ 7) = (uint64_t)IPW(ip, i*64+19) >> 11;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*23+ 7) |= (uint64_t)IPV(ip, i*64+20) << 12;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*23+ 7) |= (uint64_t)IPV(ip, i*64+21) << 35 | (uint64_t)IPX(ip, i*64+22) << 58;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*23+ 8) = (uint64_t)IPW(ip, i*64+22) >> 6;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*23+ 8) |= (uint64_t)IPV(ip, i*64+23) << 17;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*23+ 8) |= (uint64_t)IPV(ip, i*64+24) << 40 | (uint64_t)IPX(ip, i*64+25) << 63;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*23+ 9) = (uint64_t)IPW(ip, i*64+25) >> 1;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*23+ 9) |= (uint64_t)IPV(ip, i*64+26) << 22 | (uint64_t)IPX(ip, i*64+27) << 45;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*23+10) = (uint64_t)IPW(ip, i*64+27) >> 19;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*23+10) |= (uint64_t)IPV(ip, i*64+28) << 4;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*23+10) |= (uint64_t)IPV(ip, i*64+29) << 27 | (uint64_t)IPX(ip, i*64+30) << 50;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*23+11) = (uint64_t)IPW(ip, i*64+30) >> 14;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*23+11) |= (uint64_t)IPV(ip, i*64+31) << 9;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*23+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*23+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 23 | (uint64_t)IPX(ip, i*64+2) << 46;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*23+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 18;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*23+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 5;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*23+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 28 | (uint64_t)IPX(ip, i*64+5) << 51;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*23+ 2) = (uint64_t)IPW(ip, i*64+ 5) >> 13;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*23+ 2) |= (uint64_t)IPV(ip, i*64+ 6) << 10;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*23+ 2) |= (uint64_t)IPV(ip, i*64+ 7) << 33 | (uint64_t)IPX(ip, i*64+8) << 56;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*23+ 3) = (uint64_t)IPW(ip, i*64+ 8) >> 8;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*23+ 3) |= (uint64_t)IPV(ip, i*64+ 9) << 15;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*23+ 3) |= (uint64_t)IPV(ip, i*64+10) << 38 | (uint64_t)IPX(ip, i*64+11) << 61;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*23+ 4) = (uint64_t)IPW(ip, i*64+11) >> 3;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*23+ 4) |= (uint64_t)IPV(ip, i*64+12) << 20 | (uint64_t)IPX(ip, i*64+13) << 43;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*23+ 5) = (uint64_t)IPW(ip, i*64+13) >> 21;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*23+ 5) |= (uint64_t)IPV(ip, i*64+14) << 2;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*23+ 5) |= (uint64_t)IPV(ip, i*64+15) << 25 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*23+ 6) = (uint64_t)IPW(ip, i*64+16) >> 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*23+ 6) |= (uint64_t)IPV(ip, i*64+17) << 7;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*23+ 6) |= (uint64_t)IPV(ip, i*64+18) << 30 | (uint64_t)IPX(ip, i*64+19) << 53;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*23+ 7) = (uint64_t)IPW(ip, i*64+19) >> 11;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*23+ 7) |= (uint64_t)IPV(ip, i*64+20) << 12;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*23+ 7) |= (uint64_t)IPV(ip, i*64+21) << 35 | (uint64_t)IPX(ip, i*64+22) << 58;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*23+ 8) = (uint64_t)IPW(ip, i*64+22) >> 6;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*23+ 8) |= (uint64_t)IPV(ip, i*64+23) << 17;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*23+ 8) |= (uint64_t)IPV(ip, i*64+24) << 40 | (uint64_t)IPX(ip, i*64+25) << 63;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*23+ 9) = (uint64_t)IPW(ip, i*64+25) >> 1;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*23+ 9) |= (uint64_t)IPV(ip, i*64+26) << 22 | (uint64_t)IPX(ip, i*64+27) << 45;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*23+10) = (uint64_t)IPW(ip, i*64+27) >> 19;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*23+10) |= (uint64_t)IPV(ip, i*64+28) << 4;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*23+10) |= (uint64_t)IPV(ip, i*64+29) << 27 | (uint64_t)IPX(ip, i*64+30) << 50;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*23+11) = (uint64_t)IPW(ip, i*64+30) >> 14;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*23+11) |= (uint64_t)IPV(ip, i*64+31) << 9;\ } #define BITPACK64_23(ip, op, parm) { \ @@ -834,14 +834,14 @@ } #define BITBLK64_24(ip, i, op, parm) { ;\ - IPB(ip, i*8+ 0, parm); *((uint64_t *)op+i*3+ 0) = (uint64_t)IPV(ip, i*8+ 0) ;\ - IPB(ip, i*8+ 1, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*8+ 1) << 24 | (uint64_t)IPX(ip, i*8+2) << 48;\ - IPP(ip, i*8+ 2, parm); *((uint64_t *)op+i*3+ 1) = (uint64_t)IPW(ip, i*8+ 2) >> 16;\ - IPB(ip, i*8+ 3, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*8+ 3) << 8;\ - IPB(ip, i*8+ 4, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*8+ 4) << 32 | (uint64_t)IPX(ip, i*8+5) << 56;\ - IPP(ip, i*8+ 5, parm); *((uint64_t *)op+i*3+ 2) = (uint64_t)IPW(ip, i*8+ 5) >> 8;\ - IPB(ip, i*8+ 6, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*8+ 6) << 16;\ - IPB(ip, i*8+ 7, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*8+ 7) << 40;\ + IP9(ip, i*8+ 0, parm); *((uint64_t *)op+i*3+ 0) = (uint64_t)IPV(ip, i*8+ 0) ;\ + IP9(ip, i*8+ 1, parm); *((uint64_t *)op+i*3+ 0) |= (uint64_t)IPV(ip, i*8+ 1) << 24 | (uint64_t)IPX(ip, i*8+2) << 48;\ + IP64(ip, i*8+ 2, parm); *((uint64_t *)op+i*3+ 1) = (uint64_t)IPW(ip, i*8+ 2) >> 16;\ + IP9(ip, i*8+ 3, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*8+ 3) << 8;\ + IP9(ip, i*8+ 4, parm); *((uint64_t *)op+i*3+ 1) |= (uint64_t)IPV(ip, i*8+ 4) << 32 | (uint64_t)IPX(ip, i*8+5) << 56;\ + IP64(ip, i*8+ 5, parm); *((uint64_t *)op+i*3+ 2) = (uint64_t)IPW(ip, i*8+ 5) >> 8;\ + IP9(ip, i*8+ 6, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*8+ 6) << 16;\ + IP9(ip, i*8+ 7, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*8+ 7) << 40;\ } #define BITPACK64_24(ip, op, parm) { \ @@ -852,38 +852,38 @@ } #define BITBLK64_25(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*25+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*25+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 25 | (uint64_t)IPX(ip, i*64+2) << 50;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*25+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 14;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*25+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 11;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*25+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 36 | (uint64_t)IPX(ip, i*64+5) << 61;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*25+ 2) = (uint64_t)IPW(ip, i*64+ 5) >> 3;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*25+ 2) |= (uint64_t)IPV(ip, i*64+ 6) << 22 | (uint64_t)IPX(ip, i*64+7) << 47;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*25+ 3) = (uint64_t)IPW(ip, i*64+ 7) >> 17;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*25+ 3) |= (uint64_t)IPV(ip, i*64+ 8) << 8;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*25+ 3) |= (uint64_t)IPV(ip, i*64+ 9) << 33 | (uint64_t)IPX(ip, i*64+10) << 58;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*25+ 4) = (uint64_t)IPW(ip, i*64+10) >> 6;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*25+ 4) |= (uint64_t)IPV(ip, i*64+11) << 19 | (uint64_t)IPX(ip, i*64+12) << 44;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*25+ 5) = (uint64_t)IPW(ip, i*64+12) >> 20;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*25+ 5) |= (uint64_t)IPV(ip, i*64+13) << 5;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*25+ 5) |= (uint64_t)IPV(ip, i*64+14) << 30 | (uint64_t)IPX(ip, i*64+15) << 55;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*25+ 6) = (uint64_t)IPW(ip, i*64+15) >> 9;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*25+ 6) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 41;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*25+ 7) = (uint64_t)IPW(ip, i*64+17) >> 23;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*25+ 7) |= (uint64_t)IPV(ip, i*64+18) << 2;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*25+ 7) |= (uint64_t)IPV(ip, i*64+19) << 27 | (uint64_t)IPX(ip, i*64+20) << 52;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*25+ 8) = (uint64_t)IPW(ip, i*64+20) >> 12;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*25+ 8) |= (uint64_t)IPV(ip, i*64+21) << 13;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*25+ 8) |= (uint64_t)IPV(ip, i*64+22) << 38 | (uint64_t)IPX(ip, i*64+23) << 63;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*25+ 9) = (uint64_t)IPW(ip, i*64+23) >> 1;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*25+ 9) |= (uint64_t)IPV(ip, i*64+24) << 24 | (uint64_t)IPX(ip, i*64+25) << 49;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*25+10) = (uint64_t)IPW(ip, i*64+25) >> 15;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*25+10) |= (uint64_t)IPV(ip, i*64+26) << 10;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*25+10) |= (uint64_t)IPV(ip, i*64+27) << 35 | (uint64_t)IPX(ip, i*64+28) << 60;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*25+11) = (uint64_t)IPW(ip, i*64+28) >> 4;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*25+11) |= (uint64_t)IPV(ip, i*64+29) << 21 | (uint64_t)IPX(ip, i*64+30) << 46;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*25+12) = (uint64_t)IPW(ip, i*64+30) >> 18;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*25+12) |= (uint64_t)IPV(ip, i*64+31) << 7;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*25+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*25+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 25 | (uint64_t)IPX(ip, i*64+2) << 50;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*25+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 14;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*25+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 11;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*25+ 1) |= (uint64_t)IPV(ip, i*64+ 4) << 36 | (uint64_t)IPX(ip, i*64+5) << 61;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*25+ 2) = (uint64_t)IPW(ip, i*64+ 5) >> 3;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*25+ 2) |= (uint64_t)IPV(ip, i*64+ 6) << 22 | (uint64_t)IPX(ip, i*64+7) << 47;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*25+ 3) = (uint64_t)IPW(ip, i*64+ 7) >> 17;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*25+ 3) |= (uint64_t)IPV(ip, i*64+ 8) << 8;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*25+ 3) |= (uint64_t)IPV(ip, i*64+ 9) << 33 | (uint64_t)IPX(ip, i*64+10) << 58;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*25+ 4) = (uint64_t)IPW(ip, i*64+10) >> 6;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*25+ 4) |= (uint64_t)IPV(ip, i*64+11) << 19 | (uint64_t)IPX(ip, i*64+12) << 44;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*25+ 5) = (uint64_t)IPW(ip, i*64+12) >> 20;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*25+ 5) |= (uint64_t)IPV(ip, i*64+13) << 5;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*25+ 5) |= (uint64_t)IPV(ip, i*64+14) << 30 | (uint64_t)IPX(ip, i*64+15) << 55;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*25+ 6) = (uint64_t)IPW(ip, i*64+15) >> 9;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*25+ 6) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 41;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*25+ 7) = (uint64_t)IPW(ip, i*64+17) >> 23;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*25+ 7) |= (uint64_t)IPV(ip, i*64+18) << 2;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*25+ 7) |= (uint64_t)IPV(ip, i*64+19) << 27 | (uint64_t)IPX(ip, i*64+20) << 52;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*25+ 8) = (uint64_t)IPW(ip, i*64+20) >> 12;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*25+ 8) |= (uint64_t)IPV(ip, i*64+21) << 13;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*25+ 8) |= (uint64_t)IPV(ip, i*64+22) << 38 | (uint64_t)IPX(ip, i*64+23) << 63;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*25+ 9) = (uint64_t)IPW(ip, i*64+23) >> 1;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*25+ 9) |= (uint64_t)IPV(ip, i*64+24) << 24 | (uint64_t)IPX(ip, i*64+25) << 49;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*25+10) = (uint64_t)IPW(ip, i*64+25) >> 15;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*25+10) |= (uint64_t)IPV(ip, i*64+26) << 10;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*25+10) |= (uint64_t)IPV(ip, i*64+27) << 35 | (uint64_t)IPX(ip, i*64+28) << 60;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*25+11) = (uint64_t)IPW(ip, i*64+28) >> 4;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*25+11) |= (uint64_t)IPV(ip, i*64+29) << 21 | (uint64_t)IPX(ip, i*64+30) << 46;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*25+12) = (uint64_t)IPW(ip, i*64+30) >> 18;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*25+12) |= (uint64_t)IPV(ip, i*64+31) << 7;\ } #define BITPACK64_25(ip, op, parm) { \ @@ -891,38 +891,38 @@ } #define BITBLK64_26(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*13+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ - IPB(ip, i*32+ 1, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 26 | (uint64_t)IPX(ip, i*32+2) << 52;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*13+ 1) = (uint64_t)IPW(ip, i*32+ 2) >> 12;\ - IPB(ip, i*32+ 3, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*32+ 3) << 14 | (uint64_t)IPX(ip, i*32+4) << 40;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*13+ 2) = (uint64_t)IPW(ip, i*32+ 4) >> 24;\ - IPB(ip, i*32+ 5, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*32+ 5) << 2;\ - IPB(ip, i*32+ 6, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*32+ 6) << 28 | (uint64_t)IPX(ip, i*32+7) << 54;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*13+ 3) = (uint64_t)IPW(ip, i*32+ 7) >> 10;\ - IPB(ip, i*32+ 8, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*32+ 8) << 16 | (uint64_t)IPX(ip, i*32+9) << 42;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*13+ 4) = (uint64_t)IPW(ip, i*32+ 9) >> 22;\ - IPB(ip, i*32+10, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*32+10) << 4;\ - IPB(ip, i*32+11, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*32+11) << 30 | (uint64_t)IPX(ip, i*32+12) << 56;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*13+ 5) = (uint64_t)IPW(ip, i*32+12) >> 8;\ - IPB(ip, i*32+13, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*32+13) << 18 | (uint64_t)IPX(ip, i*32+14) << 44;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*13+ 6) = (uint64_t)IPW(ip, i*32+14) >> 20;\ - IPB(ip, i*32+15, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*32+15) << 6;\ - IPB(ip, i*32+16, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 58;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*13+ 7) = (uint64_t)IPW(ip, i*32+17) >> 6;\ - IPB(ip, i*32+18, parm); *((uint64_t *)op+i*13+ 7) |= (uint64_t)IPV(ip, i*32+18) << 20 | (uint64_t)IPX(ip, i*32+19) << 46;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*13+ 8) = (uint64_t)IPW(ip, i*32+19) >> 18;\ - IPB(ip, i*32+20, parm); *((uint64_t *)op+i*13+ 8) |= (uint64_t)IPV(ip, i*32+20) << 8;\ - IPB(ip, i*32+21, parm); *((uint64_t *)op+i*13+ 8) |= (uint64_t)IPV(ip, i*32+21) << 34 | (uint64_t)IPX(ip, i*32+22) << 60;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*13+ 9) = (uint64_t)IPW(ip, i*32+22) >> 4;\ - IPB(ip, i*32+23, parm); *((uint64_t *)op+i*13+ 9) |= (uint64_t)IPV(ip, i*32+23) << 22 | (uint64_t)IPX(ip, i*32+24) << 48;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*13+10) = (uint64_t)IPW(ip, i*32+24) >> 16;\ - IPB(ip, i*32+25, parm); *((uint64_t *)op+i*13+10) |= (uint64_t)IPV(ip, i*32+25) << 10;\ - IPB(ip, i*32+26, parm); *((uint64_t *)op+i*13+10) |= (uint64_t)IPV(ip, i*32+26) << 36 | (uint64_t)IPX(ip, i*32+27) << 62;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*13+11) = (uint64_t)IPW(ip, i*32+27) >> 2;\ - IPB(ip, i*32+28, parm); *((uint64_t *)op+i*13+11) |= (uint64_t)IPV(ip, i*32+28) << 24 | (uint64_t)IPX(ip, i*32+29) << 50;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*13+12) = (uint64_t)IPW(ip, i*32+29) >> 14;\ - IPB(ip, i*32+30, parm); *((uint64_t *)op+i*13+12) |= (uint64_t)IPV(ip, i*32+30) << 12;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*13+12) |= (uint64_t)IPV(ip, i*32+31) << 38;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*13+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); *((uint64_t *)op+i*13+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 26 | (uint64_t)IPX(ip, i*32+2) << 52;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*13+ 1) = (uint64_t)IPW(ip, i*32+ 2) >> 12;\ + IP9(ip, i*32+ 3, parm); *((uint64_t *)op+i*13+ 1) |= (uint64_t)IPV(ip, i*32+ 3) << 14 | (uint64_t)IPX(ip, i*32+4) << 40;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*13+ 2) = (uint64_t)IPW(ip, i*32+ 4) >> 24;\ + IP9(ip, i*32+ 5, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*32+ 5) << 2;\ + IP9(ip, i*32+ 6, parm); *((uint64_t *)op+i*13+ 2) |= (uint64_t)IPV(ip, i*32+ 6) << 28 | (uint64_t)IPX(ip, i*32+7) << 54;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*13+ 3) = (uint64_t)IPW(ip, i*32+ 7) >> 10;\ + IP9(ip, i*32+ 8, parm); *((uint64_t *)op+i*13+ 3) |= (uint64_t)IPV(ip, i*32+ 8) << 16 | (uint64_t)IPX(ip, i*32+9) << 42;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*13+ 4) = (uint64_t)IPW(ip, i*32+ 9) >> 22;\ + IP9(ip, i*32+10, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*32+10) << 4;\ + IP9(ip, i*32+11, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*32+11) << 30 | (uint64_t)IPX(ip, i*32+12) << 56;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*13+ 5) = (uint64_t)IPW(ip, i*32+12) >> 8;\ + IP9(ip, i*32+13, parm); *((uint64_t *)op+i*13+ 5) |= (uint64_t)IPV(ip, i*32+13) << 18 | (uint64_t)IPX(ip, i*32+14) << 44;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*13+ 6) = (uint64_t)IPW(ip, i*32+14) >> 20;\ + IP9(ip, i*32+15, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*32+15) << 6;\ + IP9(ip, i*32+16, parm); *((uint64_t *)op+i*13+ 6) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 58;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*13+ 7) = (uint64_t)IPW(ip, i*32+17) >> 6;\ + IP9(ip, i*32+18, parm); *((uint64_t *)op+i*13+ 7) |= (uint64_t)IPV(ip, i*32+18) << 20 | (uint64_t)IPX(ip, i*32+19) << 46;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*13+ 8) = (uint64_t)IPW(ip, i*32+19) >> 18;\ + IP9(ip, i*32+20, parm); *((uint64_t *)op+i*13+ 8) |= (uint64_t)IPV(ip, i*32+20) << 8;\ + IP9(ip, i*32+21, parm); *((uint64_t *)op+i*13+ 8) |= (uint64_t)IPV(ip, i*32+21) << 34 | (uint64_t)IPX(ip, i*32+22) << 60;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*13+ 9) = (uint64_t)IPW(ip, i*32+22) >> 4;\ + IP9(ip, i*32+23, parm); *((uint64_t *)op+i*13+ 9) |= (uint64_t)IPV(ip, i*32+23) << 22 | (uint64_t)IPX(ip, i*32+24) << 48;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*13+10) = (uint64_t)IPW(ip, i*32+24) >> 16;\ + IP9(ip, i*32+25, parm); *((uint64_t *)op+i*13+10) |= (uint64_t)IPV(ip, i*32+25) << 10;\ + IP9(ip, i*32+26, parm); *((uint64_t *)op+i*13+10) |= (uint64_t)IPV(ip, i*32+26) << 36 | (uint64_t)IPX(ip, i*32+27) << 62;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*13+11) = (uint64_t)IPW(ip, i*32+27) >> 2;\ + IP9(ip, i*32+28, parm); *((uint64_t *)op+i*13+11) |= (uint64_t)IPV(ip, i*32+28) << 24 | (uint64_t)IPX(ip, i*32+29) << 50;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*13+12) = (uint64_t)IPW(ip, i*32+29) >> 14;\ + IP9(ip, i*32+30, parm); *((uint64_t *)op+i*13+12) |= (uint64_t)IPV(ip, i*32+30) << 12;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*13+12) |= (uint64_t)IPV(ip, i*32+31) << 38;\ } #define BITPACK64_26(ip, op, parm) { \ @@ -930,38 +930,38 @@ } #define BITBLK64_27(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*27+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*27+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 27 | (uint64_t)IPX(ip, i*64+2) << 54;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*27+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 10;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*27+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 17 | (uint64_t)IPX(ip, i*64+4) << 44;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*27+ 2) = (uint64_t)IPW(ip, i*64+ 4) >> 20;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*27+ 2) |= (uint64_t)IPV(ip, i*64+ 5) << 7;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*27+ 2) |= (uint64_t)IPV(ip, i*64+ 6) << 34 | (uint64_t)IPX(ip, i*64+7) << 61;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*27+ 3) = (uint64_t)IPW(ip, i*64+ 7) >> 3;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*27+ 3) |= (uint64_t)IPV(ip, i*64+ 8) << 24 | (uint64_t)IPX(ip, i*64+9) << 51;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*27+ 4) = (uint64_t)IPW(ip, i*64+ 9) >> 13;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*27+ 4) |= (uint64_t)IPV(ip, i*64+10) << 14 | (uint64_t)IPX(ip, i*64+11) << 41;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*27+ 5) = (uint64_t)IPW(ip, i*64+11) >> 23;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*27+ 5) |= (uint64_t)IPV(ip, i*64+12) << 4;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*27+ 5) |= (uint64_t)IPV(ip, i*64+13) << 31 | (uint64_t)IPX(ip, i*64+14) << 58;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*27+ 6) = (uint64_t)IPW(ip, i*64+14) >> 6;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*27+ 6) |= (uint64_t)IPV(ip, i*64+15) << 21 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*27+ 7) = (uint64_t)IPW(ip, i*64+16) >> 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*27+ 7) |= (uint64_t)IPV(ip, i*64+17) << 11 | (uint64_t)IPX(ip, i*64+18) << 38;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*27+ 8) = (uint64_t)IPW(ip, i*64+18) >> 26;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*27+ 8) |= (uint64_t)IPV(ip, i*64+19) << 1;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*27+ 8) |= (uint64_t)IPV(ip, i*64+20) << 28 | (uint64_t)IPX(ip, i*64+21) << 55;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*27+ 9) = (uint64_t)IPW(ip, i*64+21) >> 9;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*27+ 9) |= (uint64_t)IPV(ip, i*64+22) << 18 | (uint64_t)IPX(ip, i*64+23) << 45;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*27+10) = (uint64_t)IPW(ip, i*64+23) >> 19;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*27+10) |= (uint64_t)IPV(ip, i*64+24) << 8;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*27+10) |= (uint64_t)IPV(ip, i*64+25) << 35 | (uint64_t)IPX(ip, i*64+26) << 62;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*27+11) = (uint64_t)IPW(ip, i*64+26) >> 2;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*27+11) |= (uint64_t)IPV(ip, i*64+27) << 25 | (uint64_t)IPX(ip, i*64+28) << 52;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*27+12) = (uint64_t)IPW(ip, i*64+28) >> 12;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*27+12) |= (uint64_t)IPV(ip, i*64+29) << 15 | (uint64_t)IPX(ip, i*64+30) << 42;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*27+13) = (uint64_t)IPW(ip, i*64+30) >> 22;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*27+13) |= (uint64_t)IPV(ip, i*64+31) << 5;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*27+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*27+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 27 | (uint64_t)IPX(ip, i*64+2) << 54;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*27+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 10;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*27+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 17 | (uint64_t)IPX(ip, i*64+4) << 44;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*27+ 2) = (uint64_t)IPW(ip, i*64+ 4) >> 20;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*27+ 2) |= (uint64_t)IPV(ip, i*64+ 5) << 7;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*27+ 2) |= (uint64_t)IPV(ip, i*64+ 6) << 34 | (uint64_t)IPX(ip, i*64+7) << 61;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*27+ 3) = (uint64_t)IPW(ip, i*64+ 7) >> 3;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*27+ 3) |= (uint64_t)IPV(ip, i*64+ 8) << 24 | (uint64_t)IPX(ip, i*64+9) << 51;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*27+ 4) = (uint64_t)IPW(ip, i*64+ 9) >> 13;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*27+ 4) |= (uint64_t)IPV(ip, i*64+10) << 14 | (uint64_t)IPX(ip, i*64+11) << 41;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*27+ 5) = (uint64_t)IPW(ip, i*64+11) >> 23;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*27+ 5) |= (uint64_t)IPV(ip, i*64+12) << 4;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*27+ 5) |= (uint64_t)IPV(ip, i*64+13) << 31 | (uint64_t)IPX(ip, i*64+14) << 58;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*27+ 6) = (uint64_t)IPW(ip, i*64+14) >> 6;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*27+ 6) |= (uint64_t)IPV(ip, i*64+15) << 21 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*27+ 7) = (uint64_t)IPW(ip, i*64+16) >> 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*27+ 7) |= (uint64_t)IPV(ip, i*64+17) << 11 | (uint64_t)IPX(ip, i*64+18) << 38;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*27+ 8) = (uint64_t)IPW(ip, i*64+18) >> 26;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*27+ 8) |= (uint64_t)IPV(ip, i*64+19) << 1;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*27+ 8) |= (uint64_t)IPV(ip, i*64+20) << 28 | (uint64_t)IPX(ip, i*64+21) << 55;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*27+ 9) = (uint64_t)IPW(ip, i*64+21) >> 9;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*27+ 9) |= (uint64_t)IPV(ip, i*64+22) << 18 | (uint64_t)IPX(ip, i*64+23) << 45;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*27+10) = (uint64_t)IPW(ip, i*64+23) >> 19;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*27+10) |= (uint64_t)IPV(ip, i*64+24) << 8;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*27+10) |= (uint64_t)IPV(ip, i*64+25) << 35 | (uint64_t)IPX(ip, i*64+26) << 62;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*27+11) = (uint64_t)IPW(ip, i*64+26) >> 2;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*27+11) |= (uint64_t)IPV(ip, i*64+27) << 25 | (uint64_t)IPX(ip, i*64+28) << 52;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*27+12) = (uint64_t)IPW(ip, i*64+28) >> 12;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*27+12) |= (uint64_t)IPV(ip, i*64+29) << 15 | (uint64_t)IPX(ip, i*64+30) << 42;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*27+13) = (uint64_t)IPW(ip, i*64+30) >> 22;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*27+13) |= (uint64_t)IPV(ip, i*64+31) << 5;\ } #define BITPACK64_27(ip, op, parm) { \ @@ -969,22 +969,22 @@ } #define BITBLK64_28(ip, i, op, parm) { ;\ - IPB(ip, i*16+ 0, parm); *((uint64_t *)op+i*7+ 0) = (uint64_t)IPV(ip, i*16+ 0) ;\ - IPB(ip, i*16+ 1, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*16+ 1) << 28 | (uint64_t)IPX(ip, i*16+2) << 56;\ - IPP(ip, i*16+ 2, parm); *((uint64_t *)op+i*7+ 1) = (uint64_t)IPW(ip, i*16+ 2) >> 8;\ - IPB(ip, i*16+ 3, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*16+ 3) << 20 | (uint64_t)IPX(ip, i*16+4) << 48;\ - IPP(ip, i*16+ 4, parm); *((uint64_t *)op+i*7+ 2) = (uint64_t)IPW(ip, i*16+ 4) >> 16;\ - IPB(ip, i*16+ 5, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*16+ 5) << 12 | (uint64_t)IPX(ip, i*16+6) << 40;\ - IPP(ip, i*16+ 6, parm); *((uint64_t *)op+i*7+ 3) = (uint64_t)IPW(ip, i*16+ 6) >> 24;\ - IPB(ip, i*16+ 7, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*16+ 7) << 4;\ - IPB(ip, i*16+ 8, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*16+ 8) << 32 | (uint64_t)IPX(ip, i*16+9) << 60;\ - IPP(ip, i*16+ 9, parm); *((uint64_t *)op+i*7+ 4) = (uint64_t)IPW(ip, i*16+ 9) >> 4;\ - IPB(ip, i*16+10, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*16+10) << 24 | (uint64_t)IPX(ip, i*16+11) << 52;\ - IPP(ip, i*16+11, parm); *((uint64_t *)op+i*7+ 5) = (uint64_t)IPW(ip, i*16+11) >> 12;\ - IPB(ip, i*16+12, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*16+12) << 16 | (uint64_t)IPX(ip, i*16+13) << 44;\ - IPP(ip, i*16+13, parm); *((uint64_t *)op+i*7+ 6) = (uint64_t)IPW(ip, i*16+13) >> 20;\ - IPB(ip, i*16+14, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*16+14) << 8;\ - IPB(ip, i*16+15, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*16+15) << 36;\ + IP9(ip, i*16+ 0, parm); *((uint64_t *)op+i*7+ 0) = (uint64_t)IPV(ip, i*16+ 0) ;\ + IP9(ip, i*16+ 1, parm); *((uint64_t *)op+i*7+ 0) |= (uint64_t)IPV(ip, i*16+ 1) << 28 | (uint64_t)IPX(ip, i*16+2) << 56;\ + IP64(ip, i*16+ 2, parm); *((uint64_t *)op+i*7+ 1) = (uint64_t)IPW(ip, i*16+ 2) >> 8;\ + IP9(ip, i*16+ 3, parm); *((uint64_t *)op+i*7+ 1) |= (uint64_t)IPV(ip, i*16+ 3) << 20 | (uint64_t)IPX(ip, i*16+4) << 48;\ + IP64(ip, i*16+ 4, parm); *((uint64_t *)op+i*7+ 2) = (uint64_t)IPW(ip, i*16+ 4) >> 16;\ + IP9(ip, i*16+ 5, parm); *((uint64_t *)op+i*7+ 2) |= (uint64_t)IPV(ip, i*16+ 5) << 12 | (uint64_t)IPX(ip, i*16+6) << 40;\ + IP64(ip, i*16+ 6, parm); *((uint64_t *)op+i*7+ 3) = (uint64_t)IPW(ip, i*16+ 6) >> 24;\ + IP9(ip, i*16+ 7, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*16+ 7) << 4;\ + IP9(ip, i*16+ 8, parm); *((uint64_t *)op+i*7+ 3) |= (uint64_t)IPV(ip, i*16+ 8) << 32 | (uint64_t)IPX(ip, i*16+9) << 60;\ + IP64(ip, i*16+ 9, parm); *((uint64_t *)op+i*7+ 4) = (uint64_t)IPW(ip, i*16+ 9) >> 4;\ + IP9(ip, i*16+10, parm); *((uint64_t *)op+i*7+ 4) |= (uint64_t)IPV(ip, i*16+10) << 24 | (uint64_t)IPX(ip, i*16+11) << 52;\ + IP64(ip, i*16+11, parm); *((uint64_t *)op+i*7+ 5) = (uint64_t)IPW(ip, i*16+11) >> 12;\ + IP9(ip, i*16+12, parm); *((uint64_t *)op+i*7+ 5) |= (uint64_t)IPV(ip, i*16+12) << 16 | (uint64_t)IPX(ip, i*16+13) << 44;\ + IP64(ip, i*16+13, parm); *((uint64_t *)op+i*7+ 6) = (uint64_t)IPW(ip, i*16+13) >> 20;\ + IP9(ip, i*16+14, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*16+14) << 8;\ + IP9(ip, i*16+15, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*16+15) << 36;\ } #define BITPACK64_28(ip, op, parm) { \ @@ -993,38 +993,38 @@ } #define BITBLK64_29(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*29+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*29+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 29 | (uint64_t)IPX(ip, i*64+2) << 58;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*29+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 6;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*29+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 23 | (uint64_t)IPX(ip, i*64+4) << 52;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*29+ 2) = (uint64_t)IPW(ip, i*64+ 4) >> 12;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*29+ 2) |= (uint64_t)IPV(ip, i*64+ 5) << 17 | (uint64_t)IPX(ip, i*64+6) << 46;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*29+ 3) = (uint64_t)IPW(ip, i*64+ 6) >> 18;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*29+ 3) |= (uint64_t)IPV(ip, i*64+ 7) << 11 | (uint64_t)IPX(ip, i*64+8) << 40;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*29+ 4) = (uint64_t)IPW(ip, i*64+ 8) >> 24;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*29+ 4) |= (uint64_t)IPV(ip, i*64+ 9) << 5;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*29+ 4) |= (uint64_t)IPV(ip, i*64+10) << 34 | (uint64_t)IPX(ip, i*64+11) << 63;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*29+ 5) = (uint64_t)IPW(ip, i*64+11) >> 1;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*29+ 5) |= (uint64_t)IPV(ip, i*64+12) << 28 | (uint64_t)IPX(ip, i*64+13) << 57;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*29+ 6) = (uint64_t)IPW(ip, i*64+13) >> 7;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*29+ 6) |= (uint64_t)IPV(ip, i*64+14) << 22 | (uint64_t)IPX(ip, i*64+15) << 51;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*29+ 7) = (uint64_t)IPW(ip, i*64+15) >> 13;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*29+ 7) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 45;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*29+ 8) = (uint64_t)IPW(ip, i*64+17) >> 19;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*29+ 8) |= (uint64_t)IPV(ip, i*64+18) << 10 | (uint64_t)IPX(ip, i*64+19) << 39;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*29+ 9) = (uint64_t)IPW(ip, i*64+19) >> 25;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*29+ 9) |= (uint64_t)IPV(ip, i*64+20) << 4;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*29+ 9) |= (uint64_t)IPV(ip, i*64+21) << 33 | (uint64_t)IPX(ip, i*64+22) << 62;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*29+10) = (uint64_t)IPW(ip, i*64+22) >> 2;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*29+10) |= (uint64_t)IPV(ip, i*64+23) << 27 | (uint64_t)IPX(ip, i*64+24) << 56;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*29+11) = (uint64_t)IPW(ip, i*64+24) >> 8;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*29+11) |= (uint64_t)IPV(ip, i*64+25) << 21 | (uint64_t)IPX(ip, i*64+26) << 50;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*29+12) = (uint64_t)IPW(ip, i*64+26) >> 14;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*29+12) |= (uint64_t)IPV(ip, i*64+27) << 15 | (uint64_t)IPX(ip, i*64+28) << 44;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*29+13) = (uint64_t)IPW(ip, i*64+28) >> 20;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*29+13) |= (uint64_t)IPV(ip, i*64+29) << 9 | (uint64_t)IPX(ip, i*64+30) << 38;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*29+14) = (uint64_t)IPW(ip, i*64+30) >> 26;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*29+14) |= (uint64_t)IPV(ip, i*64+31) << 3;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*29+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*29+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 29 | (uint64_t)IPX(ip, i*64+2) << 58;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*29+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 6;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*29+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 23 | (uint64_t)IPX(ip, i*64+4) << 52;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*29+ 2) = (uint64_t)IPW(ip, i*64+ 4) >> 12;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*29+ 2) |= (uint64_t)IPV(ip, i*64+ 5) << 17 | (uint64_t)IPX(ip, i*64+6) << 46;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*29+ 3) = (uint64_t)IPW(ip, i*64+ 6) >> 18;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*29+ 3) |= (uint64_t)IPV(ip, i*64+ 7) << 11 | (uint64_t)IPX(ip, i*64+8) << 40;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*29+ 4) = (uint64_t)IPW(ip, i*64+ 8) >> 24;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*29+ 4) |= (uint64_t)IPV(ip, i*64+ 9) << 5;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*29+ 4) |= (uint64_t)IPV(ip, i*64+10) << 34 | (uint64_t)IPX(ip, i*64+11) << 63;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*29+ 5) = (uint64_t)IPW(ip, i*64+11) >> 1;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*29+ 5) |= (uint64_t)IPV(ip, i*64+12) << 28 | (uint64_t)IPX(ip, i*64+13) << 57;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*29+ 6) = (uint64_t)IPW(ip, i*64+13) >> 7;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*29+ 6) |= (uint64_t)IPV(ip, i*64+14) << 22 | (uint64_t)IPX(ip, i*64+15) << 51;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*29+ 7) = (uint64_t)IPW(ip, i*64+15) >> 13;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*29+ 7) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 45;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*29+ 8) = (uint64_t)IPW(ip, i*64+17) >> 19;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*29+ 8) |= (uint64_t)IPV(ip, i*64+18) << 10 | (uint64_t)IPX(ip, i*64+19) << 39;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*29+ 9) = (uint64_t)IPW(ip, i*64+19) >> 25;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*29+ 9) |= (uint64_t)IPV(ip, i*64+20) << 4;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*29+ 9) |= (uint64_t)IPV(ip, i*64+21) << 33 | (uint64_t)IPX(ip, i*64+22) << 62;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*29+10) = (uint64_t)IPW(ip, i*64+22) >> 2;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*29+10) |= (uint64_t)IPV(ip, i*64+23) << 27 | (uint64_t)IPX(ip, i*64+24) << 56;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*29+11) = (uint64_t)IPW(ip, i*64+24) >> 8;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*29+11) |= (uint64_t)IPV(ip, i*64+25) << 21 | (uint64_t)IPX(ip, i*64+26) << 50;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*29+12) = (uint64_t)IPW(ip, i*64+26) >> 14;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*29+12) |= (uint64_t)IPV(ip, i*64+27) << 15 | (uint64_t)IPX(ip, i*64+28) << 44;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*29+13) = (uint64_t)IPW(ip, i*64+28) >> 20;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*29+13) |= (uint64_t)IPV(ip, i*64+29) << 9 | (uint64_t)IPX(ip, i*64+30) << 38;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*29+14) = (uint64_t)IPW(ip, i*64+30) >> 26;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*29+14) |= (uint64_t)IPV(ip, i*64+31) << 3;\ } #define BITPACK64_29(ip, op, parm) { \ @@ -1032,38 +1032,38 @@ } #define BITBLK64_30(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*15+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ - IPB(ip, i*32+ 1, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 30 | (uint64_t)IPX(ip, i*32+2) << 60;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*15+ 1) = (uint64_t)IPW(ip, i*32+ 2) >> 4;\ - IPB(ip, i*32+ 3, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*32+ 3) << 26 | (uint64_t)IPX(ip, i*32+4) << 56;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*15+ 2) = (uint64_t)IPW(ip, i*32+ 4) >> 8;\ - IPB(ip, i*32+ 5, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*32+ 5) << 22 | (uint64_t)IPX(ip, i*32+6) << 52;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*15+ 3) = (uint64_t)IPW(ip, i*32+ 6) >> 12;\ - IPB(ip, i*32+ 7, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*32+ 7) << 18 | (uint64_t)IPX(ip, i*32+8) << 48;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*15+ 4) = (uint64_t)IPW(ip, i*32+ 8) >> 16;\ - IPB(ip, i*32+ 9, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*32+ 9) << 14 | (uint64_t)IPX(ip, i*32+10) << 44;\ - IPP(ip, i*32+10, parm); *((uint64_t *)op+i*15+ 5) = (uint64_t)IPW(ip, i*32+10) >> 20;\ - IPB(ip, i*32+11, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*32+11) << 10 | (uint64_t)IPX(ip, i*32+12) << 40;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*15+ 6) = (uint64_t)IPW(ip, i*32+12) >> 24;\ - IPB(ip, i*32+13, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*32+13) << 6 | (uint64_t)IPX(ip, i*32+14) << 36;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*15+ 7) = (uint64_t)IPW(ip, i*32+14) >> 28;\ - IPB(ip, i*32+15, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*32+15) << 2;\ - IPB(ip, i*32+16, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 62;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*15+ 8) = (uint64_t)IPW(ip, i*32+17) >> 2;\ - IPB(ip, i*32+18, parm); *((uint64_t *)op+i*15+ 8) |= (uint64_t)IPV(ip, i*32+18) << 28 | (uint64_t)IPX(ip, i*32+19) << 58;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*15+ 9) = (uint64_t)IPW(ip, i*32+19) >> 6;\ - IPB(ip, i*32+20, parm); *((uint64_t *)op+i*15+ 9) |= (uint64_t)IPV(ip, i*32+20) << 24 | (uint64_t)IPX(ip, i*32+21) << 54;\ - IPP(ip, i*32+21, parm); *((uint64_t *)op+i*15+10) = (uint64_t)IPW(ip, i*32+21) >> 10;\ - IPB(ip, i*32+22, parm); *((uint64_t *)op+i*15+10) |= (uint64_t)IPV(ip, i*32+22) << 20 | (uint64_t)IPX(ip, i*32+23) << 50;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*15+11) = (uint64_t)IPW(ip, i*32+23) >> 14;\ - IPB(ip, i*32+24, parm); *((uint64_t *)op+i*15+11) |= (uint64_t)IPV(ip, i*32+24) << 16 | (uint64_t)IPX(ip, i*32+25) << 46;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*15+12) = (uint64_t)IPW(ip, i*32+25) >> 18;\ - IPB(ip, i*32+26, parm); *((uint64_t *)op+i*15+12) |= (uint64_t)IPV(ip, i*32+26) << 12 | (uint64_t)IPX(ip, i*32+27) << 42;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*15+13) = (uint64_t)IPW(ip, i*32+27) >> 22;\ - IPB(ip, i*32+28, parm); *((uint64_t *)op+i*15+13) |= (uint64_t)IPV(ip, i*32+28) << 8 | (uint64_t)IPX(ip, i*32+29) << 38;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*15+14) = (uint64_t)IPW(ip, i*32+29) >> 26;\ - IPB(ip, i*32+30, parm); *((uint64_t *)op+i*15+14) |= (uint64_t)IPV(ip, i*32+30) << 4;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*15+14) |= (uint64_t)IPV(ip, i*32+31) << 34;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*15+ 0) = (uint64_t)IPV(ip, i*32+ 0) ;\ + IP9(ip, i*32+ 1, parm); *((uint64_t *)op+i*15+ 0) |= (uint64_t)IPV(ip, i*32+ 1) << 30 | (uint64_t)IPX(ip, i*32+2) << 60;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*15+ 1) = (uint64_t)IPW(ip, i*32+ 2) >> 4;\ + IP9(ip, i*32+ 3, parm); *((uint64_t *)op+i*15+ 1) |= (uint64_t)IPV(ip, i*32+ 3) << 26 | (uint64_t)IPX(ip, i*32+4) << 56;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*15+ 2) = (uint64_t)IPW(ip, i*32+ 4) >> 8;\ + IP9(ip, i*32+ 5, parm); *((uint64_t *)op+i*15+ 2) |= (uint64_t)IPV(ip, i*32+ 5) << 22 | (uint64_t)IPX(ip, i*32+6) << 52;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*15+ 3) = (uint64_t)IPW(ip, i*32+ 6) >> 12;\ + IP9(ip, i*32+ 7, parm); *((uint64_t *)op+i*15+ 3) |= (uint64_t)IPV(ip, i*32+ 7) << 18 | (uint64_t)IPX(ip, i*32+8) << 48;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*15+ 4) = (uint64_t)IPW(ip, i*32+ 8) >> 16;\ + IP9(ip, i*32+ 9, parm); *((uint64_t *)op+i*15+ 4) |= (uint64_t)IPV(ip, i*32+ 9) << 14 | (uint64_t)IPX(ip, i*32+10) << 44;\ + IP64(ip, i*32+10, parm); *((uint64_t *)op+i*15+ 5) = (uint64_t)IPW(ip, i*32+10) >> 20;\ + IP9(ip, i*32+11, parm); *((uint64_t *)op+i*15+ 5) |= (uint64_t)IPV(ip, i*32+11) << 10 | (uint64_t)IPX(ip, i*32+12) << 40;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*15+ 6) = (uint64_t)IPW(ip, i*32+12) >> 24;\ + IP9(ip, i*32+13, parm); *((uint64_t *)op+i*15+ 6) |= (uint64_t)IPV(ip, i*32+13) << 6 | (uint64_t)IPX(ip, i*32+14) << 36;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*15+ 7) = (uint64_t)IPW(ip, i*32+14) >> 28;\ + IP9(ip, i*32+15, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*32+15) << 2;\ + IP9(ip, i*32+16, parm); *((uint64_t *)op+i*15+ 7) |= (uint64_t)IPV(ip, i*32+16) << 32 | (uint64_t)IPX(ip, i*32+17) << 62;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*15+ 8) = (uint64_t)IPW(ip, i*32+17) >> 2;\ + IP9(ip, i*32+18, parm); *((uint64_t *)op+i*15+ 8) |= (uint64_t)IPV(ip, i*32+18) << 28 | (uint64_t)IPX(ip, i*32+19) << 58;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*15+ 9) = (uint64_t)IPW(ip, i*32+19) >> 6;\ + IP9(ip, i*32+20, parm); *((uint64_t *)op+i*15+ 9) |= (uint64_t)IPV(ip, i*32+20) << 24 | (uint64_t)IPX(ip, i*32+21) << 54;\ + IP64(ip, i*32+21, parm); *((uint64_t *)op+i*15+10) = (uint64_t)IPW(ip, i*32+21) >> 10;\ + IP9(ip, i*32+22, parm); *((uint64_t *)op+i*15+10) |= (uint64_t)IPV(ip, i*32+22) << 20 | (uint64_t)IPX(ip, i*32+23) << 50;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*15+11) = (uint64_t)IPW(ip, i*32+23) >> 14;\ + IP9(ip, i*32+24, parm); *((uint64_t *)op+i*15+11) |= (uint64_t)IPV(ip, i*32+24) << 16 | (uint64_t)IPX(ip, i*32+25) << 46;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*15+12) = (uint64_t)IPW(ip, i*32+25) >> 18;\ + IP9(ip, i*32+26, parm); *((uint64_t *)op+i*15+12) |= (uint64_t)IPV(ip, i*32+26) << 12 | (uint64_t)IPX(ip, i*32+27) << 42;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*15+13) = (uint64_t)IPW(ip, i*32+27) >> 22;\ + IP9(ip, i*32+28, parm); *((uint64_t *)op+i*15+13) |= (uint64_t)IPV(ip, i*32+28) << 8 | (uint64_t)IPX(ip, i*32+29) << 38;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*15+14) = (uint64_t)IPW(ip, i*32+29) >> 26;\ + IP9(ip, i*32+30, parm); *((uint64_t *)op+i*15+14) |= (uint64_t)IPV(ip, i*32+30) << 4;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*15+14) |= (uint64_t)IPV(ip, i*32+31) << 34;\ } #define BITPACK64_30(ip, op, parm) { \ @@ -1071,38 +1071,38 @@ } #define BITBLK64_31(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*31+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ - IPB(ip, i*64+ 1, parm); *((uint64_t *)op+i*31+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 31 | (uint64_t)IPX(ip, i*64+2) << 62;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*31+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 2;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*31+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 29 | (uint64_t)IPX(ip, i*64+4) << 60;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*31+ 2) = (uint64_t)IPW(ip, i*64+ 4) >> 4;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*31+ 2) |= (uint64_t)IPV(ip, i*64+ 5) << 27 | (uint64_t)IPX(ip, i*64+6) << 58;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*31+ 3) = (uint64_t)IPW(ip, i*64+ 6) >> 6;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*31+ 3) |= (uint64_t)IPV(ip, i*64+ 7) << 25 | (uint64_t)IPX(ip, i*64+8) << 56;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*31+ 4) = (uint64_t)IPW(ip, i*64+ 8) >> 8;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*31+ 4) |= (uint64_t)IPV(ip, i*64+ 9) << 23 | (uint64_t)IPX(ip, i*64+10) << 54;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*31+ 5) = (uint64_t)IPW(ip, i*64+10) >> 10;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*31+ 5) |= (uint64_t)IPV(ip, i*64+11) << 21 | (uint64_t)IPX(ip, i*64+12) << 52;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*31+ 6) = (uint64_t)IPW(ip, i*64+12) >> 12;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*31+ 6) |= (uint64_t)IPV(ip, i*64+13) << 19 | (uint64_t)IPX(ip, i*64+14) << 50;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*31+ 7) = (uint64_t)IPW(ip, i*64+14) >> 14;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*31+ 7) |= (uint64_t)IPV(ip, i*64+15) << 17 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*31+ 8) = (uint64_t)IPW(ip, i*64+16) >> 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*31+ 8) |= (uint64_t)IPV(ip, i*64+17) << 15 | (uint64_t)IPX(ip, i*64+18) << 46;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*31+ 9) = (uint64_t)IPW(ip, i*64+18) >> 18;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*31+ 9) |= (uint64_t)IPV(ip, i*64+19) << 13 | (uint64_t)IPX(ip, i*64+20) << 44;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*31+10) = (uint64_t)IPW(ip, i*64+20) >> 20;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*31+10) |= (uint64_t)IPV(ip, i*64+21) << 11 | (uint64_t)IPX(ip, i*64+22) << 42;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*31+11) = (uint64_t)IPW(ip, i*64+22) >> 22;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*31+11) |= (uint64_t)IPV(ip, i*64+23) << 9 | (uint64_t)IPX(ip, i*64+24) << 40;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*31+12) = (uint64_t)IPW(ip, i*64+24) >> 24;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*31+12) |= (uint64_t)IPV(ip, i*64+25) << 7 | (uint64_t)IPX(ip, i*64+26) << 38;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*31+13) = (uint64_t)IPW(ip, i*64+26) >> 26;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*31+13) |= (uint64_t)IPV(ip, i*64+27) << 5 | (uint64_t)IPX(ip, i*64+28) << 36;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*31+14) = (uint64_t)IPW(ip, i*64+28) >> 28;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*31+14) |= (uint64_t)IPV(ip, i*64+29) << 3 | (uint64_t)IPX(ip, i*64+30) << 34;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*31+15) = (uint64_t)IPW(ip, i*64+30) >> 30;\ - IPB(ip, i*64+31, parm); *((uint64_t *)op+i*31+15) |= (uint64_t)IPV(ip, i*64+31) << 1;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*31+ 0) = (uint64_t)IPV(ip, i*64+ 0) ;\ + IP9(ip, i*64+ 1, parm); *((uint64_t *)op+i*31+ 0) |= (uint64_t)IPV(ip, i*64+ 1) << 31 | (uint64_t)IPX(ip, i*64+2) << 62;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*31+ 1) = (uint64_t)IPW(ip, i*64+ 2) >> 2;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*31+ 1) |= (uint64_t)IPV(ip, i*64+ 3) << 29 | (uint64_t)IPX(ip, i*64+4) << 60;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*31+ 2) = (uint64_t)IPW(ip, i*64+ 4) >> 4;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*31+ 2) |= (uint64_t)IPV(ip, i*64+ 5) << 27 | (uint64_t)IPX(ip, i*64+6) << 58;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*31+ 3) = (uint64_t)IPW(ip, i*64+ 6) >> 6;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*31+ 3) |= (uint64_t)IPV(ip, i*64+ 7) << 25 | (uint64_t)IPX(ip, i*64+8) << 56;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*31+ 4) = (uint64_t)IPW(ip, i*64+ 8) >> 8;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*31+ 4) |= (uint64_t)IPV(ip, i*64+ 9) << 23 | (uint64_t)IPX(ip, i*64+10) << 54;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*31+ 5) = (uint64_t)IPW(ip, i*64+10) >> 10;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*31+ 5) |= (uint64_t)IPV(ip, i*64+11) << 21 | (uint64_t)IPX(ip, i*64+12) << 52;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*31+ 6) = (uint64_t)IPW(ip, i*64+12) >> 12;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*31+ 6) |= (uint64_t)IPV(ip, i*64+13) << 19 | (uint64_t)IPX(ip, i*64+14) << 50;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*31+ 7) = (uint64_t)IPW(ip, i*64+14) >> 14;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*31+ 7) |= (uint64_t)IPV(ip, i*64+15) << 17 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*31+ 8) = (uint64_t)IPW(ip, i*64+16) >> 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*31+ 8) |= (uint64_t)IPV(ip, i*64+17) << 15 | (uint64_t)IPX(ip, i*64+18) << 46;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*31+ 9) = (uint64_t)IPW(ip, i*64+18) >> 18;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*31+ 9) |= (uint64_t)IPV(ip, i*64+19) << 13 | (uint64_t)IPX(ip, i*64+20) << 44;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*31+10) = (uint64_t)IPW(ip, i*64+20) >> 20;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*31+10) |= (uint64_t)IPV(ip, i*64+21) << 11 | (uint64_t)IPX(ip, i*64+22) << 42;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*31+11) = (uint64_t)IPW(ip, i*64+22) >> 22;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*31+11) |= (uint64_t)IPV(ip, i*64+23) << 9 | (uint64_t)IPX(ip, i*64+24) << 40;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*31+12) = (uint64_t)IPW(ip, i*64+24) >> 24;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*31+12) |= (uint64_t)IPV(ip, i*64+25) << 7 | (uint64_t)IPX(ip, i*64+26) << 38;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*31+13) = (uint64_t)IPW(ip, i*64+26) >> 26;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*31+13) |= (uint64_t)IPV(ip, i*64+27) << 5 | (uint64_t)IPX(ip, i*64+28) << 36;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*31+14) = (uint64_t)IPW(ip, i*64+28) >> 28;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*31+14) |= (uint64_t)IPV(ip, i*64+29) << 3 | (uint64_t)IPX(ip, i*64+30) << 34;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*31+15) = (uint64_t)IPW(ip, i*64+30) >> 30;\ + IP9(ip, i*64+31, parm); *((uint64_t *)op+i*31+15) |= (uint64_t)IPV(ip, i*64+31) << 1;\ } #define BITPACK64_31(ip, op, parm) { \ @@ -1110,8 +1110,8 @@ } #define BITBLK64_32(ip, i, op, parm) { \ - IPB(ip, i*2+ 0, parm); *(uint32_t *)(op+i*8+ 0) = IPV(ip, i*2+ 0);\ - IPB(ip, i*2+ 1, parm); *(uint32_t *)(op+i*8+ 4) = IPV(ip, i*2+ 1);;\ + IP9(ip, i*2+ 0, parm); *(uint32_t *)(op+i*8+ 0) = IPV(ip, i*2+ 0);\ + IP9(ip, i*2+ 1, parm); *(uint32_t *)(op+i*8+ 4) = IPV(ip, i*2+ 1);;\ } #define BITPACK64_32(ip, op, parm) { \ @@ -1134,38 +1134,38 @@ } #define BITBLK64_33(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*33+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 33;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*33+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 31;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*33+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 2 | (uint64_t)IPX(ip, i*64+3) << 35;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*33+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 29;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*33+ 2) |= (uint64_t)IPV(ip, i*64+ 4) << 4 | (uint64_t)IPX(ip, i*64+5) << 37;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*33+ 3) = (uint64_t)IPW(ip, i*64+ 5) >> 27;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*33+ 3) |= (uint64_t)IPV(ip, i*64+ 6) << 6 | (uint64_t)IPX(ip, i*64+7) << 39;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*33+ 4) = (uint64_t)IPW(ip, i*64+ 7) >> 25;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*33+ 4) |= (uint64_t)IPV(ip, i*64+ 8) << 8 | (uint64_t)IPX(ip, i*64+9) << 41;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*33+ 5) = (uint64_t)IPW(ip, i*64+ 9) >> 23;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*33+ 5) |= (uint64_t)IPV(ip, i*64+10) << 10 | (uint64_t)IPX(ip, i*64+11) << 43;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*33+ 6) = (uint64_t)IPW(ip, i*64+11) >> 21;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*33+ 6) |= (uint64_t)IPV(ip, i*64+12) << 12 | (uint64_t)IPX(ip, i*64+13) << 45;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*33+ 7) = (uint64_t)IPW(ip, i*64+13) >> 19;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*33+ 7) |= (uint64_t)IPV(ip, i*64+14) << 14 | (uint64_t)IPX(ip, i*64+15) << 47;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*33+ 8) = (uint64_t)IPW(ip, i*64+15) >> 17;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*33+ 8) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 49;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*33+ 9) = (uint64_t)IPW(ip, i*64+17) >> 15;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*33+ 9) |= (uint64_t)IPV(ip, i*64+18) << 18 | (uint64_t)IPX(ip, i*64+19) << 51;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*33+10) = (uint64_t)IPW(ip, i*64+19) >> 13;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*33+10) |= (uint64_t)IPV(ip, i*64+20) << 20 | (uint64_t)IPX(ip, i*64+21) << 53;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*33+11) = (uint64_t)IPW(ip, i*64+21) >> 11;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*33+11) |= (uint64_t)IPV(ip, i*64+22) << 22 | (uint64_t)IPX(ip, i*64+23) << 55;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*33+12) = (uint64_t)IPW(ip, i*64+23) >> 9;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*33+12) |= (uint64_t)IPV(ip, i*64+24) << 24 | (uint64_t)IPX(ip, i*64+25) << 57;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*33+13) = (uint64_t)IPW(ip, i*64+25) >> 7;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*33+13) |= (uint64_t)IPV(ip, i*64+26) << 26 | (uint64_t)IPX(ip, i*64+27) << 59;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*33+14) = (uint64_t)IPW(ip, i*64+27) >> 5;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*33+14) |= (uint64_t)IPV(ip, i*64+28) << 28 | (uint64_t)IPX(ip, i*64+29) << 61;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*33+15) = (uint64_t)IPW(ip, i*64+29) >> 3;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*33+15) |= (uint64_t)IPV(ip, i*64+30) << 30 | (uint64_t)IPX(ip, i*64+31) << 63;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*33+16) = (uint64_t)IPW(ip, i*64+31) >> 1;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*33+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 33;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*33+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 31;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*33+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 2 | (uint64_t)IPX(ip, i*64+3) << 35;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*33+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 29;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*33+ 2) |= (uint64_t)IPV(ip, i*64+ 4) << 4 | (uint64_t)IPX(ip, i*64+5) << 37;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*33+ 3) = (uint64_t)IPW(ip, i*64+ 5) >> 27;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*33+ 3) |= (uint64_t)IPV(ip, i*64+ 6) << 6 | (uint64_t)IPX(ip, i*64+7) << 39;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*33+ 4) = (uint64_t)IPW(ip, i*64+ 7) >> 25;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*33+ 4) |= (uint64_t)IPV(ip, i*64+ 8) << 8 | (uint64_t)IPX(ip, i*64+9) << 41;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*33+ 5) = (uint64_t)IPW(ip, i*64+ 9) >> 23;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*33+ 5) |= (uint64_t)IPV(ip, i*64+10) << 10 | (uint64_t)IPX(ip, i*64+11) << 43;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*33+ 6) = (uint64_t)IPW(ip, i*64+11) >> 21;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*33+ 6) |= (uint64_t)IPV(ip, i*64+12) << 12 | (uint64_t)IPX(ip, i*64+13) << 45;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*33+ 7) = (uint64_t)IPW(ip, i*64+13) >> 19;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*33+ 7) |= (uint64_t)IPV(ip, i*64+14) << 14 | (uint64_t)IPX(ip, i*64+15) << 47;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*33+ 8) = (uint64_t)IPW(ip, i*64+15) >> 17;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*33+ 8) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 49;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*33+ 9) = (uint64_t)IPW(ip, i*64+17) >> 15;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*33+ 9) |= (uint64_t)IPV(ip, i*64+18) << 18 | (uint64_t)IPX(ip, i*64+19) << 51;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*33+10) = (uint64_t)IPW(ip, i*64+19) >> 13;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*33+10) |= (uint64_t)IPV(ip, i*64+20) << 20 | (uint64_t)IPX(ip, i*64+21) << 53;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*33+11) = (uint64_t)IPW(ip, i*64+21) >> 11;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*33+11) |= (uint64_t)IPV(ip, i*64+22) << 22 | (uint64_t)IPX(ip, i*64+23) << 55;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*33+12) = (uint64_t)IPW(ip, i*64+23) >> 9;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*33+12) |= (uint64_t)IPV(ip, i*64+24) << 24 | (uint64_t)IPX(ip, i*64+25) << 57;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*33+13) = (uint64_t)IPW(ip, i*64+25) >> 7;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*33+13) |= (uint64_t)IPV(ip, i*64+26) << 26 | (uint64_t)IPX(ip, i*64+27) << 59;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*33+14) = (uint64_t)IPW(ip, i*64+27) >> 5;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*33+14) |= (uint64_t)IPV(ip, i*64+28) << 28 | (uint64_t)IPX(ip, i*64+29) << 61;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*33+15) = (uint64_t)IPW(ip, i*64+29) >> 3;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*33+15) |= (uint64_t)IPV(ip, i*64+30) << 30 | (uint64_t)IPX(ip, i*64+31) << 63;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*33+16) = (uint64_t)IPW(ip, i*64+31) >> 1;\ } #define BITPACK64_33(ip, op, parm) { \ @@ -1173,38 +1173,38 @@ } #define BITBLK64_34(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*17+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 34;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*17+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 30;\ - IPB(ip, i*32+ 2, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*32+ 2) << 4 | (uint64_t)IPX(ip, i*32+3) << 38;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*17+ 2) = (uint64_t)IPW(ip, i*32+ 3) >> 26;\ - IPB(ip, i*32+ 4, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*32+ 4) << 8 | (uint64_t)IPX(ip, i*32+5) << 42;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*17+ 3) = (uint64_t)IPW(ip, i*32+ 5) >> 22;\ - IPB(ip, i*32+ 6, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*32+ 6) << 12 | (uint64_t)IPX(ip, i*32+7) << 46;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*17+ 4) = (uint64_t)IPW(ip, i*32+ 7) >> 18;\ - IPB(ip, i*32+ 8, parm); *((uint64_t *)op+i*17+ 4) |= (uint64_t)IPV(ip, i*32+ 8) << 16 | (uint64_t)IPX(ip, i*32+9) << 50;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*17+ 5) = (uint64_t)IPW(ip, i*32+ 9) >> 14;\ - IPB(ip, i*32+10, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*32+10) << 20 | (uint64_t)IPX(ip, i*32+11) << 54;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*17+ 6) = (uint64_t)IPW(ip, i*32+11) >> 10;\ - IPB(ip, i*32+12, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*32+12) << 24 | (uint64_t)IPX(ip, i*32+13) << 58;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*17+ 7) = (uint64_t)IPW(ip, i*32+13) >> 6;\ - IPB(ip, i*32+14, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*32+14) << 28 | (uint64_t)IPX(ip, i*32+15) << 62;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*17+ 8) = (uint64_t)IPW(ip, i*32+15) >> 2 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*17+ 9) = (uint64_t)IPW(ip, i*32+16) >> 32;\ - IPB(ip, i*32+17, parm); *((uint64_t *)op+i*17+ 9) |= (uint64_t)IPV(ip, i*32+17) << 2 | (uint64_t)IPX(ip, i*32+18) << 36;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*17+10) = (uint64_t)IPW(ip, i*32+18) >> 28;\ - IPB(ip, i*32+19, parm); *((uint64_t *)op+i*17+10) |= (uint64_t)IPV(ip, i*32+19) << 6 | (uint64_t)IPX(ip, i*32+20) << 40;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*17+11) = (uint64_t)IPW(ip, i*32+20) >> 24;\ - IPB(ip, i*32+21, parm); *((uint64_t *)op+i*17+11) |= (uint64_t)IPV(ip, i*32+21) << 10 | (uint64_t)IPX(ip, i*32+22) << 44;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*17+12) = (uint64_t)IPW(ip, i*32+22) >> 20;\ - IPB(ip, i*32+23, parm); *((uint64_t *)op+i*17+12) |= (uint64_t)IPV(ip, i*32+23) << 14 | (uint64_t)IPX(ip, i*32+24) << 48;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*17+13) = (uint64_t)IPW(ip, i*32+24) >> 16;\ - IPB(ip, i*32+25, parm); *((uint64_t *)op+i*17+13) |= (uint64_t)IPV(ip, i*32+25) << 18 | (uint64_t)IPX(ip, i*32+26) << 52;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*17+14) = (uint64_t)IPW(ip, i*32+26) >> 12;\ - IPB(ip, i*32+27, parm); *((uint64_t *)op+i*17+14) |= (uint64_t)IPV(ip, i*32+27) << 22 | (uint64_t)IPX(ip, i*32+28) << 56;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*17+15) = (uint64_t)IPW(ip, i*32+28) >> 8;\ - IPB(ip, i*32+29, parm); *((uint64_t *)op+i*17+15) |= (uint64_t)IPV(ip, i*32+29) << 26 | (uint64_t)IPX(ip, i*32+30) << 60;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*17+16) = (uint64_t)IPW(ip, i*32+30) >> 4;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*17+16) |= (uint64_t)IPV(ip, i*32+31) << 30;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*17+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 34;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*17+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 30;\ + IP9(ip, i*32+ 2, parm); *((uint64_t *)op+i*17+ 1) |= (uint64_t)IPV(ip, i*32+ 2) << 4 | (uint64_t)IPX(ip, i*32+3) << 38;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*17+ 2) = (uint64_t)IPW(ip, i*32+ 3) >> 26;\ + IP9(ip, i*32+ 4, parm); *((uint64_t *)op+i*17+ 2) |= (uint64_t)IPV(ip, i*32+ 4) << 8 | (uint64_t)IPX(ip, i*32+5) << 42;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*17+ 3) = (uint64_t)IPW(ip, i*32+ 5) >> 22;\ + IP9(ip, i*32+ 6, parm); *((uint64_t *)op+i*17+ 3) |= (uint64_t)IPV(ip, i*32+ 6) << 12 | (uint64_t)IPX(ip, i*32+7) << 46;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*17+ 4) = (uint64_t)IPW(ip, i*32+ 7) >> 18;\ + IP9(ip, i*32+ 8, parm); *((uint64_t *)op+i*17+ 4) |= (uint64_t)IPV(ip, i*32+ 8) << 16 | (uint64_t)IPX(ip, i*32+9) << 50;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*17+ 5) = (uint64_t)IPW(ip, i*32+ 9) >> 14;\ + IP9(ip, i*32+10, parm); *((uint64_t *)op+i*17+ 5) |= (uint64_t)IPV(ip, i*32+10) << 20 | (uint64_t)IPX(ip, i*32+11) << 54;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*17+ 6) = (uint64_t)IPW(ip, i*32+11) >> 10;\ + IP9(ip, i*32+12, parm); *((uint64_t *)op+i*17+ 6) |= (uint64_t)IPV(ip, i*32+12) << 24 | (uint64_t)IPX(ip, i*32+13) << 58;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*17+ 7) = (uint64_t)IPW(ip, i*32+13) >> 6;\ + IP9(ip, i*32+14, parm); *((uint64_t *)op+i*17+ 7) |= (uint64_t)IPV(ip, i*32+14) << 28 | (uint64_t)IPX(ip, i*32+15) << 62;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*17+ 8) = (uint64_t)IPW(ip, i*32+15) >> 2 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*17+ 9) = (uint64_t)IPW(ip, i*32+16) >> 32;\ + IP9(ip, i*32+17, parm); *((uint64_t *)op+i*17+ 9) |= (uint64_t)IPV(ip, i*32+17) << 2 | (uint64_t)IPX(ip, i*32+18) << 36;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*17+10) = (uint64_t)IPW(ip, i*32+18) >> 28;\ + IP9(ip, i*32+19, parm); *((uint64_t *)op+i*17+10) |= (uint64_t)IPV(ip, i*32+19) << 6 | (uint64_t)IPX(ip, i*32+20) << 40;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*17+11) = (uint64_t)IPW(ip, i*32+20) >> 24;\ + IP9(ip, i*32+21, parm); *((uint64_t *)op+i*17+11) |= (uint64_t)IPV(ip, i*32+21) << 10 | (uint64_t)IPX(ip, i*32+22) << 44;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*17+12) = (uint64_t)IPW(ip, i*32+22) >> 20;\ + IP9(ip, i*32+23, parm); *((uint64_t *)op+i*17+12) |= (uint64_t)IPV(ip, i*32+23) << 14 | (uint64_t)IPX(ip, i*32+24) << 48;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*17+13) = (uint64_t)IPW(ip, i*32+24) >> 16;\ + IP9(ip, i*32+25, parm); *((uint64_t *)op+i*17+13) |= (uint64_t)IPV(ip, i*32+25) << 18 | (uint64_t)IPX(ip, i*32+26) << 52;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*17+14) = (uint64_t)IPW(ip, i*32+26) >> 12;\ + IP9(ip, i*32+27, parm); *((uint64_t *)op+i*17+14) |= (uint64_t)IPV(ip, i*32+27) << 22 | (uint64_t)IPX(ip, i*32+28) << 56;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*17+15) = (uint64_t)IPW(ip, i*32+28) >> 8;\ + IP9(ip, i*32+29, parm); *((uint64_t *)op+i*17+15) |= (uint64_t)IPV(ip, i*32+29) << 26 | (uint64_t)IPX(ip, i*32+30) << 60;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*17+16) = (uint64_t)IPW(ip, i*32+30) >> 4;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*17+16) |= (uint64_t)IPV(ip, i*32+31) << 30;\ } #define BITPACK64_34(ip, op, parm) { \ @@ -1212,38 +1212,38 @@ } #define BITBLK64_35(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*35+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 35;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*35+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 29;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*35+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 6 | (uint64_t)IPX(ip, i*64+3) << 41;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*35+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 23;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*35+ 2) |= (uint64_t)IPV(ip, i*64+ 4) << 12 | (uint64_t)IPX(ip, i*64+5) << 47;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*35+ 3) = (uint64_t)IPW(ip, i*64+ 5) >> 17;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*35+ 3) |= (uint64_t)IPV(ip, i*64+ 6) << 18 | (uint64_t)IPX(ip, i*64+7) << 53;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*35+ 4) = (uint64_t)IPW(ip, i*64+ 7) >> 11;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*35+ 4) |= (uint64_t)IPV(ip, i*64+ 8) << 24 | (uint64_t)IPX(ip, i*64+9) << 59;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*35+ 5) = (uint64_t)IPW(ip, i*64+ 9) >> 5 | (uint64_t)IPX(ip, i*64+10) << 30;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*35+ 6) = (uint64_t)IPW(ip, i*64+10) >> 34;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*35+ 6) |= (uint64_t)IPV(ip, i*64+11) << 1 | (uint64_t)IPX(ip, i*64+12) << 36;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*35+ 7) = (uint64_t)IPW(ip, i*64+12) >> 28;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*35+ 7) |= (uint64_t)IPV(ip, i*64+13) << 7 | (uint64_t)IPX(ip, i*64+14) << 42;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*35+ 8) = (uint64_t)IPW(ip, i*64+14) >> 22;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*35+ 8) |= (uint64_t)IPV(ip, i*64+15) << 13 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*35+ 9) = (uint64_t)IPW(ip, i*64+16) >> 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*35+ 9) |= (uint64_t)IPV(ip, i*64+17) << 19 | (uint64_t)IPX(ip, i*64+18) << 54;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*35+10) = (uint64_t)IPW(ip, i*64+18) >> 10;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*35+10) |= (uint64_t)IPV(ip, i*64+19) << 25 | (uint64_t)IPX(ip, i*64+20) << 60;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*35+11) = (uint64_t)IPW(ip, i*64+20) >> 4 | (uint64_t)IPX(ip, i*64+21) << 31;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*35+12) = (uint64_t)IPW(ip, i*64+21) >> 33;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*35+12) |= (uint64_t)IPV(ip, i*64+22) << 2 | (uint64_t)IPX(ip, i*64+23) << 37;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*35+13) = (uint64_t)IPW(ip, i*64+23) >> 27;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*35+13) |= (uint64_t)IPV(ip, i*64+24) << 8 | (uint64_t)IPX(ip, i*64+25) << 43;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*35+14) = (uint64_t)IPW(ip, i*64+25) >> 21;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*35+14) |= (uint64_t)IPV(ip, i*64+26) << 14 | (uint64_t)IPX(ip, i*64+27) << 49;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*35+15) = (uint64_t)IPW(ip, i*64+27) >> 15;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*35+15) |= (uint64_t)IPV(ip, i*64+28) << 20 | (uint64_t)IPX(ip, i*64+29) << 55;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*35+16) = (uint64_t)IPW(ip, i*64+29) >> 9;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*35+16) |= (uint64_t)IPV(ip, i*64+30) << 26 | (uint64_t)IPX(ip, i*64+31) << 61;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*35+17) = (uint64_t)IPW(ip, i*64+31) >> 3;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*35+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 35;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*35+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 29;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*35+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 6 | (uint64_t)IPX(ip, i*64+3) << 41;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*35+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 23;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*35+ 2) |= (uint64_t)IPV(ip, i*64+ 4) << 12 | (uint64_t)IPX(ip, i*64+5) << 47;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*35+ 3) = (uint64_t)IPW(ip, i*64+ 5) >> 17;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*35+ 3) |= (uint64_t)IPV(ip, i*64+ 6) << 18 | (uint64_t)IPX(ip, i*64+7) << 53;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*35+ 4) = (uint64_t)IPW(ip, i*64+ 7) >> 11;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*35+ 4) |= (uint64_t)IPV(ip, i*64+ 8) << 24 | (uint64_t)IPX(ip, i*64+9) << 59;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*35+ 5) = (uint64_t)IPW(ip, i*64+ 9) >> 5 | (uint64_t)IPX(ip, i*64+10) << 30;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*35+ 6) = (uint64_t)IPW(ip, i*64+10) >> 34;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*35+ 6) |= (uint64_t)IPV(ip, i*64+11) << 1 | (uint64_t)IPX(ip, i*64+12) << 36;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*35+ 7) = (uint64_t)IPW(ip, i*64+12) >> 28;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*35+ 7) |= (uint64_t)IPV(ip, i*64+13) << 7 | (uint64_t)IPX(ip, i*64+14) << 42;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*35+ 8) = (uint64_t)IPW(ip, i*64+14) >> 22;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*35+ 8) |= (uint64_t)IPV(ip, i*64+15) << 13 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*35+ 9) = (uint64_t)IPW(ip, i*64+16) >> 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*35+ 9) |= (uint64_t)IPV(ip, i*64+17) << 19 | (uint64_t)IPX(ip, i*64+18) << 54;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*35+10) = (uint64_t)IPW(ip, i*64+18) >> 10;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*35+10) |= (uint64_t)IPV(ip, i*64+19) << 25 | (uint64_t)IPX(ip, i*64+20) << 60;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*35+11) = (uint64_t)IPW(ip, i*64+20) >> 4 | (uint64_t)IPX(ip, i*64+21) << 31;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*35+12) = (uint64_t)IPW(ip, i*64+21) >> 33;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*35+12) |= (uint64_t)IPV(ip, i*64+22) << 2 | (uint64_t)IPX(ip, i*64+23) << 37;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*35+13) = (uint64_t)IPW(ip, i*64+23) >> 27;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*35+13) |= (uint64_t)IPV(ip, i*64+24) << 8 | (uint64_t)IPX(ip, i*64+25) << 43;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*35+14) = (uint64_t)IPW(ip, i*64+25) >> 21;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*35+14) |= (uint64_t)IPV(ip, i*64+26) << 14 | (uint64_t)IPX(ip, i*64+27) << 49;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*35+15) = (uint64_t)IPW(ip, i*64+27) >> 15;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*35+15) |= (uint64_t)IPV(ip, i*64+28) << 20 | (uint64_t)IPX(ip, i*64+29) << 55;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*35+16) = (uint64_t)IPW(ip, i*64+29) >> 9;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*35+16) |= (uint64_t)IPV(ip, i*64+30) << 26 | (uint64_t)IPX(ip, i*64+31) << 61;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*35+17) = (uint64_t)IPW(ip, i*64+31) >> 3;\ } #define BITPACK64_35(ip, op, parm) { \ @@ -1251,22 +1251,22 @@ } #define BITBLK64_36(ip, i, op, parm) { ;\ - IPB(ip, i*16+ 0, parm); *((uint64_t *)op+i*9+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 36;\ - IPP(ip, i*16+ 1, parm); *((uint64_t *)op+i*9+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 28;\ - IPB(ip, i*16+ 2, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*16+ 2) << 8 | (uint64_t)IPX(ip, i*16+3) << 44;\ - IPP(ip, i*16+ 3, parm); *((uint64_t *)op+i*9+ 2) = (uint64_t)IPW(ip, i*16+ 3) >> 20;\ - IPB(ip, i*16+ 4, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*16+ 4) << 16 | (uint64_t)IPX(ip, i*16+5) << 52;\ - IPP(ip, i*16+ 5, parm); *((uint64_t *)op+i*9+ 3) = (uint64_t)IPW(ip, i*16+ 5) >> 12;\ - IPB(ip, i*16+ 6, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*16+ 6) << 24 | (uint64_t)IPX(ip, i*16+7) << 60;\ - IPP(ip, i*16+ 7, parm); *((uint64_t *)op+i*9+ 4) = (uint64_t)IPW(ip, i*16+ 7) >> 4 | (uint64_t)IPX(ip, i*16+8) << 32;\ - IPP(ip, i*16+ 8, parm); *((uint64_t *)op+i*9+ 5) = (uint64_t)IPW(ip, i*16+ 8) >> 32;\ - IPB(ip, i*16+ 9, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*16+ 9) << 4 | (uint64_t)IPX(ip, i*16+10) << 40;\ - IPP(ip, i*16+10, parm); *((uint64_t *)op+i*9+ 6) = (uint64_t)IPW(ip, i*16+10) >> 24;\ - IPB(ip, i*16+11, parm); *((uint64_t *)op+i*9+ 6) |= (uint64_t)IPV(ip, i*16+11) << 12 | (uint64_t)IPX(ip, i*16+12) << 48;\ - IPP(ip, i*16+12, parm); *((uint64_t *)op+i*9+ 7) = (uint64_t)IPW(ip, i*16+12) >> 16;\ - IPB(ip, i*16+13, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*16+13) << 20 | (uint64_t)IPX(ip, i*16+14) << 56;\ - IPP(ip, i*16+14, parm); *((uint64_t *)op+i*9+ 8) = (uint64_t)IPW(ip, i*16+14) >> 8;\ - IPB(ip, i*16+15, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*16+15) << 28;\ + IP9(ip, i*16+ 0, parm); *((uint64_t *)op+i*9+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 36;\ + IP64(ip, i*16+ 1, parm); *((uint64_t *)op+i*9+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 28;\ + IP9(ip, i*16+ 2, parm); *((uint64_t *)op+i*9+ 1) |= (uint64_t)IPV(ip, i*16+ 2) << 8 | (uint64_t)IPX(ip, i*16+3) << 44;\ + IP64(ip, i*16+ 3, parm); *((uint64_t *)op+i*9+ 2) = (uint64_t)IPW(ip, i*16+ 3) >> 20;\ + IP9(ip, i*16+ 4, parm); *((uint64_t *)op+i*9+ 2) |= (uint64_t)IPV(ip, i*16+ 4) << 16 | (uint64_t)IPX(ip, i*16+5) << 52;\ + IP64(ip, i*16+ 5, parm); *((uint64_t *)op+i*9+ 3) = (uint64_t)IPW(ip, i*16+ 5) >> 12;\ + IP9(ip, i*16+ 6, parm); *((uint64_t *)op+i*9+ 3) |= (uint64_t)IPV(ip, i*16+ 6) << 24 | (uint64_t)IPX(ip, i*16+7) << 60;\ + IP64(ip, i*16+ 7, parm); *((uint64_t *)op+i*9+ 4) = (uint64_t)IPW(ip, i*16+ 7) >> 4 | (uint64_t)IPX(ip, i*16+8) << 32;\ + IP64(ip, i*16+ 8, parm); *((uint64_t *)op+i*9+ 5) = (uint64_t)IPW(ip, i*16+ 8) >> 32;\ + IP9(ip, i*16+ 9, parm); *((uint64_t *)op+i*9+ 5) |= (uint64_t)IPV(ip, i*16+ 9) << 4 | (uint64_t)IPX(ip, i*16+10) << 40;\ + IP64(ip, i*16+10, parm); *((uint64_t *)op+i*9+ 6) = (uint64_t)IPW(ip, i*16+10) >> 24;\ + IP9(ip, i*16+11, parm); *((uint64_t *)op+i*9+ 6) |= (uint64_t)IPV(ip, i*16+11) << 12 | (uint64_t)IPX(ip, i*16+12) << 48;\ + IP64(ip, i*16+12, parm); *((uint64_t *)op+i*9+ 7) = (uint64_t)IPW(ip, i*16+12) >> 16;\ + IP9(ip, i*16+13, parm); *((uint64_t *)op+i*9+ 7) |= (uint64_t)IPV(ip, i*16+13) << 20 | (uint64_t)IPX(ip, i*16+14) << 56;\ + IP64(ip, i*16+14, parm); *((uint64_t *)op+i*9+ 8) = (uint64_t)IPW(ip, i*16+14) >> 8;\ + IP9(ip, i*16+15, parm); *((uint64_t *)op+i*9+ 8) |= (uint64_t)IPV(ip, i*16+15) << 28;\ } #define BITPACK64_36(ip, op, parm) { \ @@ -1275,38 +1275,38 @@ } #define BITBLK64_37(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*37+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 37;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*37+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 27;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*37+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 10 | (uint64_t)IPX(ip, i*64+3) << 47;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*37+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 17;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*37+ 2) |= (uint64_t)IPV(ip, i*64+ 4) << 20 | (uint64_t)IPX(ip, i*64+5) << 57;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*37+ 3) = (uint64_t)IPW(ip, i*64+ 5) >> 7 | (uint64_t)IPX(ip, i*64+6) << 30;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*37+ 4) = (uint64_t)IPW(ip, i*64+ 6) >> 34;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*37+ 4) |= (uint64_t)IPV(ip, i*64+ 7) << 3 | (uint64_t)IPX(ip, i*64+8) << 40;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*37+ 5) = (uint64_t)IPW(ip, i*64+ 8) >> 24;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*37+ 5) |= (uint64_t)IPV(ip, i*64+ 9) << 13 | (uint64_t)IPX(ip, i*64+10) << 50;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*37+ 6) = (uint64_t)IPW(ip, i*64+10) >> 14;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*37+ 6) |= (uint64_t)IPV(ip, i*64+11) << 23 | (uint64_t)IPX(ip, i*64+12) << 60;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*37+ 7) = (uint64_t)IPW(ip, i*64+12) >> 4 | (uint64_t)IPX(ip, i*64+13) << 33;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*37+ 8) = (uint64_t)IPW(ip, i*64+13) >> 31;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*37+ 8) |= (uint64_t)IPV(ip, i*64+14) << 6 | (uint64_t)IPX(ip, i*64+15) << 43;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*37+ 9) = (uint64_t)IPW(ip, i*64+15) >> 21;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*37+ 9) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 53;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*37+10) = (uint64_t)IPW(ip, i*64+17) >> 11;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*37+10) |= (uint64_t)IPV(ip, i*64+18) << 26 | (uint64_t)IPX(ip, i*64+19) << 63;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*37+11) = (uint64_t)IPW(ip, i*64+19) >> 1 | (uint64_t)IPX(ip, i*64+20) << 36;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*37+12) = (uint64_t)IPW(ip, i*64+20) >> 28;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*37+12) |= (uint64_t)IPV(ip, i*64+21) << 9 | (uint64_t)IPX(ip, i*64+22) << 46;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*37+13) = (uint64_t)IPW(ip, i*64+22) >> 18;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*37+13) |= (uint64_t)IPV(ip, i*64+23) << 19 | (uint64_t)IPX(ip, i*64+24) << 56;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*37+14) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 29;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*37+15) = (uint64_t)IPW(ip, i*64+25) >> 35;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*37+15) |= (uint64_t)IPV(ip, i*64+26) << 2 | (uint64_t)IPX(ip, i*64+27) << 39;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*37+16) = (uint64_t)IPW(ip, i*64+27) >> 25;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*37+16) |= (uint64_t)IPV(ip, i*64+28) << 12 | (uint64_t)IPX(ip, i*64+29) << 49;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*37+17) = (uint64_t)IPW(ip, i*64+29) >> 15;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*37+17) |= (uint64_t)IPV(ip, i*64+30) << 22 | (uint64_t)IPX(ip, i*64+31) << 59;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*37+18) = (uint64_t)IPW(ip, i*64+31) >> 5;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*37+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 37;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*37+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 27;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*37+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 10 | (uint64_t)IPX(ip, i*64+3) << 47;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*37+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 17;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*37+ 2) |= (uint64_t)IPV(ip, i*64+ 4) << 20 | (uint64_t)IPX(ip, i*64+5) << 57;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*37+ 3) = (uint64_t)IPW(ip, i*64+ 5) >> 7 | (uint64_t)IPX(ip, i*64+6) << 30;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*37+ 4) = (uint64_t)IPW(ip, i*64+ 6) >> 34;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*37+ 4) |= (uint64_t)IPV(ip, i*64+ 7) << 3 | (uint64_t)IPX(ip, i*64+8) << 40;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*37+ 5) = (uint64_t)IPW(ip, i*64+ 8) >> 24;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*37+ 5) |= (uint64_t)IPV(ip, i*64+ 9) << 13 | (uint64_t)IPX(ip, i*64+10) << 50;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*37+ 6) = (uint64_t)IPW(ip, i*64+10) >> 14;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*37+ 6) |= (uint64_t)IPV(ip, i*64+11) << 23 | (uint64_t)IPX(ip, i*64+12) << 60;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*37+ 7) = (uint64_t)IPW(ip, i*64+12) >> 4 | (uint64_t)IPX(ip, i*64+13) << 33;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*37+ 8) = (uint64_t)IPW(ip, i*64+13) >> 31;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*37+ 8) |= (uint64_t)IPV(ip, i*64+14) << 6 | (uint64_t)IPX(ip, i*64+15) << 43;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*37+ 9) = (uint64_t)IPW(ip, i*64+15) >> 21;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*37+ 9) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 53;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*37+10) = (uint64_t)IPW(ip, i*64+17) >> 11;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*37+10) |= (uint64_t)IPV(ip, i*64+18) << 26 | (uint64_t)IPX(ip, i*64+19) << 63;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*37+11) = (uint64_t)IPW(ip, i*64+19) >> 1 | (uint64_t)IPX(ip, i*64+20) << 36;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*37+12) = (uint64_t)IPW(ip, i*64+20) >> 28;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*37+12) |= (uint64_t)IPV(ip, i*64+21) << 9 | (uint64_t)IPX(ip, i*64+22) << 46;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*37+13) = (uint64_t)IPW(ip, i*64+22) >> 18;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*37+13) |= (uint64_t)IPV(ip, i*64+23) << 19 | (uint64_t)IPX(ip, i*64+24) << 56;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*37+14) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 29;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*37+15) = (uint64_t)IPW(ip, i*64+25) >> 35;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*37+15) |= (uint64_t)IPV(ip, i*64+26) << 2 | (uint64_t)IPX(ip, i*64+27) << 39;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*37+16) = (uint64_t)IPW(ip, i*64+27) >> 25;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*37+16) |= (uint64_t)IPV(ip, i*64+28) << 12 | (uint64_t)IPX(ip, i*64+29) << 49;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*37+17) = (uint64_t)IPW(ip, i*64+29) >> 15;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*37+17) |= (uint64_t)IPV(ip, i*64+30) << 22 | (uint64_t)IPX(ip, i*64+31) << 59;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*37+18) = (uint64_t)IPW(ip, i*64+31) >> 5;\ } #define BITPACK64_37(ip, op, parm) { \ @@ -1314,38 +1314,38 @@ } #define BITBLK64_38(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*19+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 38;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*19+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 26;\ - IPB(ip, i*32+ 2, parm); *((uint64_t *)op+i*19+ 1) |= (uint64_t)IPV(ip, i*32+ 2) << 12 | (uint64_t)IPX(ip, i*32+3) << 50;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*19+ 2) = (uint64_t)IPW(ip, i*32+ 3) >> 14;\ - IPB(ip, i*32+ 4, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*32+ 4) << 24 | (uint64_t)IPX(ip, i*32+5) << 62;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*19+ 3) = (uint64_t)IPW(ip, i*32+ 5) >> 2 | (uint64_t)IPX(ip, i*32+6) << 36;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*19+ 4) = (uint64_t)IPW(ip, i*32+ 6) >> 28;\ - IPB(ip, i*32+ 7, parm); *((uint64_t *)op+i*19+ 4) |= (uint64_t)IPV(ip, i*32+ 7) << 10 | (uint64_t)IPX(ip, i*32+8) << 48;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*19+ 5) = (uint64_t)IPW(ip, i*32+ 8) >> 16;\ - IPB(ip, i*32+ 9, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*32+ 9) << 22 | (uint64_t)IPX(ip, i*32+10) << 60;\ - IPP(ip, i*32+10, parm); *((uint64_t *)op+i*19+ 6) = (uint64_t)IPW(ip, i*32+10) >> 4 | (uint64_t)IPX(ip, i*32+11) << 34;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*19+ 7) = (uint64_t)IPW(ip, i*32+11) >> 30;\ - IPB(ip, i*32+12, parm); *((uint64_t *)op+i*19+ 7) |= (uint64_t)IPV(ip, i*32+12) << 8 | (uint64_t)IPX(ip, i*32+13) << 46;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*19+ 8) = (uint64_t)IPW(ip, i*32+13) >> 18;\ - IPB(ip, i*32+14, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*32+14) << 20 | (uint64_t)IPX(ip, i*32+15) << 58;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*19+ 9) = (uint64_t)IPW(ip, i*32+15) >> 6 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*19+10) = (uint64_t)IPW(ip, i*32+16) >> 32;\ - IPB(ip, i*32+17, parm); *((uint64_t *)op+i*19+10) |= (uint64_t)IPV(ip, i*32+17) << 6 | (uint64_t)IPX(ip, i*32+18) << 44;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*19+11) = (uint64_t)IPW(ip, i*32+18) >> 20;\ - IPB(ip, i*32+19, parm); *((uint64_t *)op+i*19+11) |= (uint64_t)IPV(ip, i*32+19) << 18 | (uint64_t)IPX(ip, i*32+20) << 56;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*19+12) = (uint64_t)IPW(ip, i*32+20) >> 8 | (uint64_t)IPX(ip, i*32+21) << 30;\ - IPP(ip, i*32+21, parm); *((uint64_t *)op+i*19+13) = (uint64_t)IPW(ip, i*32+21) >> 34;\ - IPB(ip, i*32+22, parm); *((uint64_t *)op+i*19+13) |= (uint64_t)IPV(ip, i*32+22) << 4 | (uint64_t)IPX(ip, i*32+23) << 42;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*19+14) = (uint64_t)IPW(ip, i*32+23) >> 22;\ - IPB(ip, i*32+24, parm); *((uint64_t *)op+i*19+14) |= (uint64_t)IPV(ip, i*32+24) << 16 | (uint64_t)IPX(ip, i*32+25) << 54;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*19+15) = (uint64_t)IPW(ip, i*32+25) >> 10 | (uint64_t)IPX(ip, i*32+26) << 28;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*19+16) = (uint64_t)IPW(ip, i*32+26) >> 36;\ - IPB(ip, i*32+27, parm); *((uint64_t *)op+i*19+16) |= (uint64_t)IPV(ip, i*32+27) << 2 | (uint64_t)IPX(ip, i*32+28) << 40;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*19+17) = (uint64_t)IPW(ip, i*32+28) >> 24;\ - IPB(ip, i*32+29, parm); *((uint64_t *)op+i*19+17) |= (uint64_t)IPV(ip, i*32+29) << 14 | (uint64_t)IPX(ip, i*32+30) << 52;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*19+18) = (uint64_t)IPW(ip, i*32+30) >> 12;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*19+18) |= (uint64_t)IPV(ip, i*32+31) << 26;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*19+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 38;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*19+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 26;\ + IP9(ip, i*32+ 2, parm); *((uint64_t *)op+i*19+ 1) |= (uint64_t)IPV(ip, i*32+ 2) << 12 | (uint64_t)IPX(ip, i*32+3) << 50;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*19+ 2) = (uint64_t)IPW(ip, i*32+ 3) >> 14;\ + IP9(ip, i*32+ 4, parm); *((uint64_t *)op+i*19+ 2) |= (uint64_t)IPV(ip, i*32+ 4) << 24 | (uint64_t)IPX(ip, i*32+5) << 62;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*19+ 3) = (uint64_t)IPW(ip, i*32+ 5) >> 2 | (uint64_t)IPX(ip, i*32+6) << 36;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*19+ 4) = (uint64_t)IPW(ip, i*32+ 6) >> 28;\ + IP9(ip, i*32+ 7, parm); *((uint64_t *)op+i*19+ 4) |= (uint64_t)IPV(ip, i*32+ 7) << 10 | (uint64_t)IPX(ip, i*32+8) << 48;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*19+ 5) = (uint64_t)IPW(ip, i*32+ 8) >> 16;\ + IP9(ip, i*32+ 9, parm); *((uint64_t *)op+i*19+ 5) |= (uint64_t)IPV(ip, i*32+ 9) << 22 | (uint64_t)IPX(ip, i*32+10) << 60;\ + IP64(ip, i*32+10, parm); *((uint64_t *)op+i*19+ 6) = (uint64_t)IPW(ip, i*32+10) >> 4 | (uint64_t)IPX(ip, i*32+11) << 34;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*19+ 7) = (uint64_t)IPW(ip, i*32+11) >> 30;\ + IP9(ip, i*32+12, parm); *((uint64_t *)op+i*19+ 7) |= (uint64_t)IPV(ip, i*32+12) << 8 | (uint64_t)IPX(ip, i*32+13) << 46;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*19+ 8) = (uint64_t)IPW(ip, i*32+13) >> 18;\ + IP9(ip, i*32+14, parm); *((uint64_t *)op+i*19+ 8) |= (uint64_t)IPV(ip, i*32+14) << 20 | (uint64_t)IPX(ip, i*32+15) << 58;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*19+ 9) = (uint64_t)IPW(ip, i*32+15) >> 6 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*19+10) = (uint64_t)IPW(ip, i*32+16) >> 32;\ + IP9(ip, i*32+17, parm); *((uint64_t *)op+i*19+10) |= (uint64_t)IPV(ip, i*32+17) << 6 | (uint64_t)IPX(ip, i*32+18) << 44;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*19+11) = (uint64_t)IPW(ip, i*32+18) >> 20;\ + IP9(ip, i*32+19, parm); *((uint64_t *)op+i*19+11) |= (uint64_t)IPV(ip, i*32+19) << 18 | (uint64_t)IPX(ip, i*32+20) << 56;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*19+12) = (uint64_t)IPW(ip, i*32+20) >> 8 | (uint64_t)IPX(ip, i*32+21) << 30;\ + IP64(ip, i*32+21, parm); *((uint64_t *)op+i*19+13) = (uint64_t)IPW(ip, i*32+21) >> 34;\ + IP9(ip, i*32+22, parm); *((uint64_t *)op+i*19+13) |= (uint64_t)IPV(ip, i*32+22) << 4 | (uint64_t)IPX(ip, i*32+23) << 42;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*19+14) = (uint64_t)IPW(ip, i*32+23) >> 22;\ + IP9(ip, i*32+24, parm); *((uint64_t *)op+i*19+14) |= (uint64_t)IPV(ip, i*32+24) << 16 | (uint64_t)IPX(ip, i*32+25) << 54;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*19+15) = (uint64_t)IPW(ip, i*32+25) >> 10 | (uint64_t)IPX(ip, i*32+26) << 28;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*19+16) = (uint64_t)IPW(ip, i*32+26) >> 36;\ + IP9(ip, i*32+27, parm); *((uint64_t *)op+i*19+16) |= (uint64_t)IPV(ip, i*32+27) << 2 | (uint64_t)IPX(ip, i*32+28) << 40;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*19+17) = (uint64_t)IPW(ip, i*32+28) >> 24;\ + IP9(ip, i*32+29, parm); *((uint64_t *)op+i*19+17) |= (uint64_t)IPV(ip, i*32+29) << 14 | (uint64_t)IPX(ip, i*32+30) << 52;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*19+18) = (uint64_t)IPW(ip, i*32+30) >> 12;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*19+18) |= (uint64_t)IPV(ip, i*32+31) << 26;\ } #define BITPACK64_38(ip, op, parm) { \ @@ -1353,38 +1353,38 @@ } #define BITBLK64_39(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*39+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 39;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*39+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 25;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*39+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 14 | (uint64_t)IPX(ip, i*64+3) << 53;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*39+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 11 | (uint64_t)IPX(ip, i*64+4) << 28;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*39+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 36;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*39+ 3) |= (uint64_t)IPV(ip, i*64+ 5) << 3 | (uint64_t)IPX(ip, i*64+6) << 42;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*39+ 4) = (uint64_t)IPW(ip, i*64+ 6) >> 22;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*39+ 4) |= (uint64_t)IPV(ip, i*64+ 7) << 17 | (uint64_t)IPX(ip, i*64+8) << 56;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*39+ 5) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 31;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*39+ 6) = (uint64_t)IPW(ip, i*64+ 9) >> 33;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*39+ 6) |= (uint64_t)IPV(ip, i*64+10) << 6 | (uint64_t)IPX(ip, i*64+11) << 45;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*39+ 7) = (uint64_t)IPW(ip, i*64+11) >> 19;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*39+ 7) |= (uint64_t)IPV(ip, i*64+12) << 20 | (uint64_t)IPX(ip, i*64+13) << 59;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*39+ 8) = (uint64_t)IPW(ip, i*64+13) >> 5 | (uint64_t)IPX(ip, i*64+14) << 34;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*39+ 9) = (uint64_t)IPW(ip, i*64+14) >> 30;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*39+ 9) |= (uint64_t)IPV(ip, i*64+15) << 9 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*39+10) = (uint64_t)IPW(ip, i*64+16) >> 16;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*39+10) |= (uint64_t)IPV(ip, i*64+17) << 23 | (uint64_t)IPX(ip, i*64+18) << 62;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*39+11) = (uint64_t)IPW(ip, i*64+18) >> 2 | (uint64_t)IPX(ip, i*64+19) << 37;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*39+12) = (uint64_t)IPW(ip, i*64+19) >> 27;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*39+12) |= (uint64_t)IPV(ip, i*64+20) << 12 | (uint64_t)IPX(ip, i*64+21) << 51;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*39+13) = (uint64_t)IPW(ip, i*64+21) >> 13 | (uint64_t)IPX(ip, i*64+22) << 26;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*39+14) = (uint64_t)IPW(ip, i*64+22) >> 38;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*39+14) |= (uint64_t)IPV(ip, i*64+23) << 1 | (uint64_t)IPX(ip, i*64+24) << 40;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*39+15) = (uint64_t)IPW(ip, i*64+24) >> 24;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*39+15) |= (uint64_t)IPV(ip, i*64+25) << 15 | (uint64_t)IPX(ip, i*64+26) << 54;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*39+16) = (uint64_t)IPW(ip, i*64+26) >> 10 | (uint64_t)IPX(ip, i*64+27) << 29;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*39+17) = (uint64_t)IPW(ip, i*64+27) >> 35;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*39+17) |= (uint64_t)IPV(ip, i*64+28) << 4 | (uint64_t)IPX(ip, i*64+29) << 43;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*39+18) = (uint64_t)IPW(ip, i*64+29) >> 21;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*39+18) |= (uint64_t)IPV(ip, i*64+30) << 18 | (uint64_t)IPX(ip, i*64+31) << 57;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*39+19) = (uint64_t)IPW(ip, i*64+31) >> 7;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*39+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 39;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*39+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 25;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*39+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 14 | (uint64_t)IPX(ip, i*64+3) << 53;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*39+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 11 | (uint64_t)IPX(ip, i*64+4) << 28;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*39+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 36;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*39+ 3) |= (uint64_t)IPV(ip, i*64+ 5) << 3 | (uint64_t)IPX(ip, i*64+6) << 42;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*39+ 4) = (uint64_t)IPW(ip, i*64+ 6) >> 22;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*39+ 4) |= (uint64_t)IPV(ip, i*64+ 7) << 17 | (uint64_t)IPX(ip, i*64+8) << 56;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*39+ 5) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 31;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*39+ 6) = (uint64_t)IPW(ip, i*64+ 9) >> 33;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*39+ 6) |= (uint64_t)IPV(ip, i*64+10) << 6 | (uint64_t)IPX(ip, i*64+11) << 45;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*39+ 7) = (uint64_t)IPW(ip, i*64+11) >> 19;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*39+ 7) |= (uint64_t)IPV(ip, i*64+12) << 20 | (uint64_t)IPX(ip, i*64+13) << 59;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*39+ 8) = (uint64_t)IPW(ip, i*64+13) >> 5 | (uint64_t)IPX(ip, i*64+14) << 34;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*39+ 9) = (uint64_t)IPW(ip, i*64+14) >> 30;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*39+ 9) |= (uint64_t)IPV(ip, i*64+15) << 9 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*39+10) = (uint64_t)IPW(ip, i*64+16) >> 16;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*39+10) |= (uint64_t)IPV(ip, i*64+17) << 23 | (uint64_t)IPX(ip, i*64+18) << 62;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*39+11) = (uint64_t)IPW(ip, i*64+18) >> 2 | (uint64_t)IPX(ip, i*64+19) << 37;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*39+12) = (uint64_t)IPW(ip, i*64+19) >> 27;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*39+12) |= (uint64_t)IPV(ip, i*64+20) << 12 | (uint64_t)IPX(ip, i*64+21) << 51;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*39+13) = (uint64_t)IPW(ip, i*64+21) >> 13 | (uint64_t)IPX(ip, i*64+22) << 26;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*39+14) = (uint64_t)IPW(ip, i*64+22) >> 38;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*39+14) |= (uint64_t)IPV(ip, i*64+23) << 1 | (uint64_t)IPX(ip, i*64+24) << 40;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*39+15) = (uint64_t)IPW(ip, i*64+24) >> 24;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*39+15) |= (uint64_t)IPV(ip, i*64+25) << 15 | (uint64_t)IPX(ip, i*64+26) << 54;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*39+16) = (uint64_t)IPW(ip, i*64+26) >> 10 | (uint64_t)IPX(ip, i*64+27) << 29;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*39+17) = (uint64_t)IPW(ip, i*64+27) >> 35;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*39+17) |= (uint64_t)IPV(ip, i*64+28) << 4 | (uint64_t)IPX(ip, i*64+29) << 43;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*39+18) = (uint64_t)IPW(ip, i*64+29) >> 21;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*39+18) |= (uint64_t)IPV(ip, i*64+30) << 18 | (uint64_t)IPX(ip, i*64+31) << 57;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*39+19) = (uint64_t)IPW(ip, i*64+31) >> 7;\ } #define BITPACK64_39(ip, op, parm) { \ @@ -1392,14 +1392,14 @@ } #define BITBLK64_40(ip, i, op, parm) { ;\ - IPB(ip, i*8+ 0, parm); *((uint64_t *)op+i*5+ 0) = (uint64_t)IPV(ip, i*8+ 0) | (uint64_t)IPX(ip, i*8+1) << 40;\ - IPP(ip, i*8+ 1, parm); *((uint64_t *)op+i*5+ 1) = (uint64_t)IPW(ip, i*8+ 1) >> 24;\ - IPB(ip, i*8+ 2, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*8+ 2) << 16 | (uint64_t)IPX(ip, i*8+3) << 56;\ - IPP(ip, i*8+ 3, parm); *((uint64_t *)op+i*5+ 2) = (uint64_t)IPW(ip, i*8+ 3) >> 8 | (uint64_t)IPX(ip, i*8+4) << 32;\ - IPP(ip, i*8+ 4, parm); *((uint64_t *)op+i*5+ 3) = (uint64_t)IPW(ip, i*8+ 4) >> 32;\ - IPB(ip, i*8+ 5, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*8+ 5) << 8 | (uint64_t)IPX(ip, i*8+6) << 48;\ - IPP(ip, i*8+ 6, parm); *((uint64_t *)op+i*5+ 4) = (uint64_t)IPW(ip, i*8+ 6) >> 16;\ - IPB(ip, i*8+ 7, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*8+ 7) << 24;\ + IP9(ip, i*8+ 0, parm); *((uint64_t *)op+i*5+ 0) = (uint64_t)IPV(ip, i*8+ 0) | (uint64_t)IPX(ip, i*8+1) << 40;\ + IP64(ip, i*8+ 1, parm); *((uint64_t *)op+i*5+ 1) = (uint64_t)IPW(ip, i*8+ 1) >> 24;\ + IP9(ip, i*8+ 2, parm); *((uint64_t *)op+i*5+ 1) |= (uint64_t)IPV(ip, i*8+ 2) << 16 | (uint64_t)IPX(ip, i*8+3) << 56;\ + IP64(ip, i*8+ 3, parm); *((uint64_t *)op+i*5+ 2) = (uint64_t)IPW(ip, i*8+ 3) >> 8 | (uint64_t)IPX(ip, i*8+4) << 32;\ + IP64(ip, i*8+ 4, parm); *((uint64_t *)op+i*5+ 3) = (uint64_t)IPW(ip, i*8+ 4) >> 32;\ + IP9(ip, i*8+ 5, parm); *((uint64_t *)op+i*5+ 3) |= (uint64_t)IPV(ip, i*8+ 5) << 8 | (uint64_t)IPX(ip, i*8+6) << 48;\ + IP64(ip, i*8+ 6, parm); *((uint64_t *)op+i*5+ 4) = (uint64_t)IPW(ip, i*8+ 6) >> 16;\ + IP9(ip, i*8+ 7, parm); *((uint64_t *)op+i*5+ 4) |= (uint64_t)IPV(ip, i*8+ 7) << 24;\ } #define BITPACK64_40(ip, op, parm) { \ @@ -1410,38 +1410,38 @@ } #define BITBLK64_41(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*41+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 41;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*41+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 23;\ - IPB(ip, i*64+ 2, parm); *((uint64_t *)op+i*41+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 18 | (uint64_t)IPX(ip, i*64+3) << 59;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*41+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 5 | (uint64_t)IPX(ip, i*64+4) << 36;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*41+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 28;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*41+ 3) |= (uint64_t)IPV(ip, i*64+ 5) << 13 | (uint64_t)IPX(ip, i*64+6) << 54;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*41+ 4) = (uint64_t)IPW(ip, i*64+ 6) >> 10 | (uint64_t)IPX(ip, i*64+7) << 31;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*41+ 5) = (uint64_t)IPW(ip, i*64+ 7) >> 33;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*41+ 5) |= (uint64_t)IPV(ip, i*64+ 8) << 8 | (uint64_t)IPX(ip, i*64+9) << 49;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*41+ 6) = (uint64_t)IPW(ip, i*64+ 9) >> 15 | (uint64_t)IPX(ip, i*64+10) << 26;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*41+ 7) = (uint64_t)IPW(ip, i*64+10) >> 38;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*41+ 7) |= (uint64_t)IPV(ip, i*64+11) << 3 | (uint64_t)IPX(ip, i*64+12) << 44;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*41+ 8) = (uint64_t)IPW(ip, i*64+12) >> 20;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*41+ 8) |= (uint64_t)IPV(ip, i*64+13) << 21 | (uint64_t)IPX(ip, i*64+14) << 62;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*41+ 9) = (uint64_t)IPW(ip, i*64+14) >> 2 | (uint64_t)IPX(ip, i*64+15) << 39;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*41+10) = (uint64_t)IPW(ip, i*64+15) >> 25;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*41+10) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 57;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*41+11) = (uint64_t)IPW(ip, i*64+17) >> 7 | (uint64_t)IPX(ip, i*64+18) << 34;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*41+12) = (uint64_t)IPW(ip, i*64+18) >> 30;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*41+12) |= (uint64_t)IPV(ip, i*64+19) << 11 | (uint64_t)IPX(ip, i*64+20) << 52;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*41+13) = (uint64_t)IPW(ip, i*64+20) >> 12 | (uint64_t)IPX(ip, i*64+21) << 29;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*41+14) = (uint64_t)IPW(ip, i*64+21) >> 35;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*41+14) |= (uint64_t)IPV(ip, i*64+22) << 6 | (uint64_t)IPX(ip, i*64+23) << 47;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*41+15) = (uint64_t)IPW(ip, i*64+23) >> 17 | (uint64_t)IPX(ip, i*64+24) << 24;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*41+16) = (uint64_t)IPW(ip, i*64+24) >> 40;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*41+16) |= (uint64_t)IPV(ip, i*64+25) << 1 | (uint64_t)IPX(ip, i*64+26) << 42;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*41+17) = (uint64_t)IPW(ip, i*64+26) >> 22;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*41+17) |= (uint64_t)IPV(ip, i*64+27) << 19 | (uint64_t)IPX(ip, i*64+28) << 60;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*41+18) = (uint64_t)IPW(ip, i*64+28) >> 4 | (uint64_t)IPX(ip, i*64+29) << 37;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*41+19) = (uint64_t)IPW(ip, i*64+29) >> 27;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*41+19) |= (uint64_t)IPV(ip, i*64+30) << 14 | (uint64_t)IPX(ip, i*64+31) << 55;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*41+20) = (uint64_t)IPW(ip, i*64+31) >> 9;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*41+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 41;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*41+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 23;\ + IP9(ip, i*64+ 2, parm); *((uint64_t *)op+i*41+ 1) |= (uint64_t)IPV(ip, i*64+ 2) << 18 | (uint64_t)IPX(ip, i*64+3) << 59;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*41+ 2) = (uint64_t)IPW(ip, i*64+ 3) >> 5 | (uint64_t)IPX(ip, i*64+4) << 36;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*41+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 28;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*41+ 3) |= (uint64_t)IPV(ip, i*64+ 5) << 13 | (uint64_t)IPX(ip, i*64+6) << 54;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*41+ 4) = (uint64_t)IPW(ip, i*64+ 6) >> 10 | (uint64_t)IPX(ip, i*64+7) << 31;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*41+ 5) = (uint64_t)IPW(ip, i*64+ 7) >> 33;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*41+ 5) |= (uint64_t)IPV(ip, i*64+ 8) << 8 | (uint64_t)IPX(ip, i*64+9) << 49;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*41+ 6) = (uint64_t)IPW(ip, i*64+ 9) >> 15 | (uint64_t)IPX(ip, i*64+10) << 26;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*41+ 7) = (uint64_t)IPW(ip, i*64+10) >> 38;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*41+ 7) |= (uint64_t)IPV(ip, i*64+11) << 3 | (uint64_t)IPX(ip, i*64+12) << 44;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*41+ 8) = (uint64_t)IPW(ip, i*64+12) >> 20;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*41+ 8) |= (uint64_t)IPV(ip, i*64+13) << 21 | (uint64_t)IPX(ip, i*64+14) << 62;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*41+ 9) = (uint64_t)IPW(ip, i*64+14) >> 2 | (uint64_t)IPX(ip, i*64+15) << 39;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*41+10) = (uint64_t)IPW(ip, i*64+15) >> 25;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*41+10) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 57;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*41+11) = (uint64_t)IPW(ip, i*64+17) >> 7 | (uint64_t)IPX(ip, i*64+18) << 34;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*41+12) = (uint64_t)IPW(ip, i*64+18) >> 30;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*41+12) |= (uint64_t)IPV(ip, i*64+19) << 11 | (uint64_t)IPX(ip, i*64+20) << 52;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*41+13) = (uint64_t)IPW(ip, i*64+20) >> 12 | (uint64_t)IPX(ip, i*64+21) << 29;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*41+14) = (uint64_t)IPW(ip, i*64+21) >> 35;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*41+14) |= (uint64_t)IPV(ip, i*64+22) << 6 | (uint64_t)IPX(ip, i*64+23) << 47;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*41+15) = (uint64_t)IPW(ip, i*64+23) >> 17 | (uint64_t)IPX(ip, i*64+24) << 24;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*41+16) = (uint64_t)IPW(ip, i*64+24) >> 40;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*41+16) |= (uint64_t)IPV(ip, i*64+25) << 1 | (uint64_t)IPX(ip, i*64+26) << 42;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*41+17) = (uint64_t)IPW(ip, i*64+26) >> 22;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*41+17) |= (uint64_t)IPV(ip, i*64+27) << 19 | (uint64_t)IPX(ip, i*64+28) << 60;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*41+18) = (uint64_t)IPW(ip, i*64+28) >> 4 | (uint64_t)IPX(ip, i*64+29) << 37;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*41+19) = (uint64_t)IPW(ip, i*64+29) >> 27;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*41+19) |= (uint64_t)IPV(ip, i*64+30) << 14 | (uint64_t)IPX(ip, i*64+31) << 55;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*41+20) = (uint64_t)IPW(ip, i*64+31) >> 9;\ } #define BITPACK64_41(ip, op, parm) { \ @@ -1449,38 +1449,38 @@ } #define BITBLK64_42(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*21+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 42;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*21+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 22;\ - IPB(ip, i*32+ 2, parm); *((uint64_t *)op+i*21+ 1) |= (uint64_t)IPV(ip, i*32+ 2) << 20 | (uint64_t)IPX(ip, i*32+3) << 62;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*21+ 2) = (uint64_t)IPW(ip, i*32+ 3) >> 2 | (uint64_t)IPX(ip, i*32+4) << 40;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*21+ 3) = (uint64_t)IPW(ip, i*32+ 4) >> 24;\ - IPB(ip, i*32+ 5, parm); *((uint64_t *)op+i*21+ 3) |= (uint64_t)IPV(ip, i*32+ 5) << 18 | (uint64_t)IPX(ip, i*32+6) << 60;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*21+ 4) = (uint64_t)IPW(ip, i*32+ 6) >> 4 | (uint64_t)IPX(ip, i*32+7) << 38;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*21+ 5) = (uint64_t)IPW(ip, i*32+ 7) >> 26;\ - IPB(ip, i*32+ 8, parm); *((uint64_t *)op+i*21+ 5) |= (uint64_t)IPV(ip, i*32+ 8) << 16 | (uint64_t)IPX(ip, i*32+9) << 58;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*21+ 6) = (uint64_t)IPW(ip, i*32+ 9) >> 6 | (uint64_t)IPX(ip, i*32+10) << 36;\ - IPP(ip, i*32+10, parm); *((uint64_t *)op+i*21+ 7) = (uint64_t)IPW(ip, i*32+10) >> 28;\ - IPB(ip, i*32+11, parm); *((uint64_t *)op+i*21+ 7) |= (uint64_t)IPV(ip, i*32+11) << 14 | (uint64_t)IPX(ip, i*32+12) << 56;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*21+ 8) = (uint64_t)IPW(ip, i*32+12) >> 8 | (uint64_t)IPX(ip, i*32+13) << 34;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*21+ 9) = (uint64_t)IPW(ip, i*32+13) >> 30;\ - IPB(ip, i*32+14, parm); *((uint64_t *)op+i*21+ 9) |= (uint64_t)IPV(ip, i*32+14) << 12 | (uint64_t)IPX(ip, i*32+15) << 54;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*21+10) = (uint64_t)IPW(ip, i*32+15) >> 10 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*21+11) = (uint64_t)IPW(ip, i*32+16) >> 32;\ - IPB(ip, i*32+17, parm); *((uint64_t *)op+i*21+11) |= (uint64_t)IPV(ip, i*32+17) << 10 | (uint64_t)IPX(ip, i*32+18) << 52;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*21+12) = (uint64_t)IPW(ip, i*32+18) >> 12 | (uint64_t)IPX(ip, i*32+19) << 30;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*21+13) = (uint64_t)IPW(ip, i*32+19) >> 34;\ - IPB(ip, i*32+20, parm); *((uint64_t *)op+i*21+13) |= (uint64_t)IPV(ip, i*32+20) << 8 | (uint64_t)IPX(ip, i*32+21) << 50;\ - IPP(ip, i*32+21, parm); *((uint64_t *)op+i*21+14) = (uint64_t)IPW(ip, i*32+21) >> 14 | (uint64_t)IPX(ip, i*32+22) << 28;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*21+15) = (uint64_t)IPW(ip, i*32+22) >> 36;\ - IPB(ip, i*32+23, parm); *((uint64_t *)op+i*21+15) |= (uint64_t)IPV(ip, i*32+23) << 6 | (uint64_t)IPX(ip, i*32+24) << 48;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*21+16) = (uint64_t)IPW(ip, i*32+24) >> 16 | (uint64_t)IPX(ip, i*32+25) << 26;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*21+17) = (uint64_t)IPW(ip, i*32+25) >> 38;\ - IPB(ip, i*32+26, parm); *((uint64_t *)op+i*21+17) |= (uint64_t)IPV(ip, i*32+26) << 4 | (uint64_t)IPX(ip, i*32+27) << 46;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*21+18) = (uint64_t)IPW(ip, i*32+27) >> 18 | (uint64_t)IPX(ip, i*32+28) << 24;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*21+19) = (uint64_t)IPW(ip, i*32+28) >> 40;\ - IPB(ip, i*32+29, parm); *((uint64_t *)op+i*21+19) |= (uint64_t)IPV(ip, i*32+29) << 2 | (uint64_t)IPX(ip, i*32+30) << 44;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*21+20) = (uint64_t)IPW(ip, i*32+30) >> 20;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*21+20) |= (uint64_t)IPV(ip, i*32+31) << 22;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*21+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 42;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*21+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 22;\ + IP9(ip, i*32+ 2, parm); *((uint64_t *)op+i*21+ 1) |= (uint64_t)IPV(ip, i*32+ 2) << 20 | (uint64_t)IPX(ip, i*32+3) << 62;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*21+ 2) = (uint64_t)IPW(ip, i*32+ 3) >> 2 | (uint64_t)IPX(ip, i*32+4) << 40;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*21+ 3) = (uint64_t)IPW(ip, i*32+ 4) >> 24;\ + IP9(ip, i*32+ 5, parm); *((uint64_t *)op+i*21+ 3) |= (uint64_t)IPV(ip, i*32+ 5) << 18 | (uint64_t)IPX(ip, i*32+6) << 60;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*21+ 4) = (uint64_t)IPW(ip, i*32+ 6) >> 4 | (uint64_t)IPX(ip, i*32+7) << 38;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*21+ 5) = (uint64_t)IPW(ip, i*32+ 7) >> 26;\ + IP9(ip, i*32+ 8, parm); *((uint64_t *)op+i*21+ 5) |= (uint64_t)IPV(ip, i*32+ 8) << 16 | (uint64_t)IPX(ip, i*32+9) << 58;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*21+ 6) = (uint64_t)IPW(ip, i*32+ 9) >> 6 | (uint64_t)IPX(ip, i*32+10) << 36;\ + IP64(ip, i*32+10, parm); *((uint64_t *)op+i*21+ 7) = (uint64_t)IPW(ip, i*32+10) >> 28;\ + IP9(ip, i*32+11, parm); *((uint64_t *)op+i*21+ 7) |= (uint64_t)IPV(ip, i*32+11) << 14 | (uint64_t)IPX(ip, i*32+12) << 56;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*21+ 8) = (uint64_t)IPW(ip, i*32+12) >> 8 | (uint64_t)IPX(ip, i*32+13) << 34;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*21+ 9) = (uint64_t)IPW(ip, i*32+13) >> 30;\ + IP9(ip, i*32+14, parm); *((uint64_t *)op+i*21+ 9) |= (uint64_t)IPV(ip, i*32+14) << 12 | (uint64_t)IPX(ip, i*32+15) << 54;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*21+10) = (uint64_t)IPW(ip, i*32+15) >> 10 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*21+11) = (uint64_t)IPW(ip, i*32+16) >> 32;\ + IP9(ip, i*32+17, parm); *((uint64_t *)op+i*21+11) |= (uint64_t)IPV(ip, i*32+17) << 10 | (uint64_t)IPX(ip, i*32+18) << 52;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*21+12) = (uint64_t)IPW(ip, i*32+18) >> 12 | (uint64_t)IPX(ip, i*32+19) << 30;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*21+13) = (uint64_t)IPW(ip, i*32+19) >> 34;\ + IP9(ip, i*32+20, parm); *((uint64_t *)op+i*21+13) |= (uint64_t)IPV(ip, i*32+20) << 8 | (uint64_t)IPX(ip, i*32+21) << 50;\ + IP64(ip, i*32+21, parm); *((uint64_t *)op+i*21+14) = (uint64_t)IPW(ip, i*32+21) >> 14 | (uint64_t)IPX(ip, i*32+22) << 28;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*21+15) = (uint64_t)IPW(ip, i*32+22) >> 36;\ + IP9(ip, i*32+23, parm); *((uint64_t *)op+i*21+15) |= (uint64_t)IPV(ip, i*32+23) << 6 | (uint64_t)IPX(ip, i*32+24) << 48;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*21+16) = (uint64_t)IPW(ip, i*32+24) >> 16 | (uint64_t)IPX(ip, i*32+25) << 26;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*21+17) = (uint64_t)IPW(ip, i*32+25) >> 38;\ + IP9(ip, i*32+26, parm); *((uint64_t *)op+i*21+17) |= (uint64_t)IPV(ip, i*32+26) << 4 | (uint64_t)IPX(ip, i*32+27) << 46;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*21+18) = (uint64_t)IPW(ip, i*32+27) >> 18 | (uint64_t)IPX(ip, i*32+28) << 24;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*21+19) = (uint64_t)IPW(ip, i*32+28) >> 40;\ + IP9(ip, i*32+29, parm); *((uint64_t *)op+i*21+19) |= (uint64_t)IPV(ip, i*32+29) << 2 | (uint64_t)IPX(ip, i*32+30) << 44;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*21+20) = (uint64_t)IPW(ip, i*32+30) >> 20;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*21+20) |= (uint64_t)IPV(ip, i*32+31) << 22;\ } #define BITPACK64_42(ip, op, parm) { \ @@ -1488,38 +1488,38 @@ } #define BITBLK64_43(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*43+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 43;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*43+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 21 | (uint64_t)IPX(ip, i*64+2) << 22;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*43+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 42;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*43+ 2) |= (uint64_t)IPV(ip, i*64+ 3) << 1 | (uint64_t)IPX(ip, i*64+4) << 44;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*43+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 20 | (uint64_t)IPX(ip, i*64+5) << 23;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*43+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 41;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*43+ 4) |= (uint64_t)IPV(ip, i*64+ 6) << 2 | (uint64_t)IPX(ip, i*64+7) << 45;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*43+ 5) = (uint64_t)IPW(ip, i*64+ 7) >> 19 | (uint64_t)IPX(ip, i*64+8) << 24;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*43+ 6) = (uint64_t)IPW(ip, i*64+ 8) >> 40;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*43+ 6) |= (uint64_t)IPV(ip, i*64+ 9) << 3 | (uint64_t)IPX(ip, i*64+10) << 46;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*43+ 7) = (uint64_t)IPW(ip, i*64+10) >> 18 | (uint64_t)IPX(ip, i*64+11) << 25;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*43+ 8) = (uint64_t)IPW(ip, i*64+11) >> 39;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*43+ 8) |= (uint64_t)IPV(ip, i*64+12) << 4 | (uint64_t)IPX(ip, i*64+13) << 47;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*43+ 9) = (uint64_t)IPW(ip, i*64+13) >> 17 | (uint64_t)IPX(ip, i*64+14) << 26;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*43+10) = (uint64_t)IPW(ip, i*64+14) >> 38;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*43+10) |= (uint64_t)IPV(ip, i*64+15) << 5 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*43+11) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 27;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*43+12) = (uint64_t)IPW(ip, i*64+17) >> 37;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*43+12) |= (uint64_t)IPV(ip, i*64+18) << 6 | (uint64_t)IPX(ip, i*64+19) << 49;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*43+13) = (uint64_t)IPW(ip, i*64+19) >> 15 | (uint64_t)IPX(ip, i*64+20) << 28;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*43+14) = (uint64_t)IPW(ip, i*64+20) >> 36;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*43+14) |= (uint64_t)IPV(ip, i*64+21) << 7 | (uint64_t)IPX(ip, i*64+22) << 50;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*43+15) = (uint64_t)IPW(ip, i*64+22) >> 14 | (uint64_t)IPX(ip, i*64+23) << 29;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*43+16) = (uint64_t)IPW(ip, i*64+23) >> 35;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*43+16) |= (uint64_t)IPV(ip, i*64+24) << 8 | (uint64_t)IPX(ip, i*64+25) << 51;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*43+17) = (uint64_t)IPW(ip, i*64+25) >> 13 | (uint64_t)IPX(ip, i*64+26) << 30;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*43+18) = (uint64_t)IPW(ip, i*64+26) >> 34;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*43+18) |= (uint64_t)IPV(ip, i*64+27) << 9 | (uint64_t)IPX(ip, i*64+28) << 52;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*43+19) = (uint64_t)IPW(ip, i*64+28) >> 12 | (uint64_t)IPX(ip, i*64+29) << 31;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*43+20) = (uint64_t)IPW(ip, i*64+29) >> 33;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*43+20) |= (uint64_t)IPV(ip, i*64+30) << 10 | (uint64_t)IPX(ip, i*64+31) << 53;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*43+21) = (uint64_t)IPW(ip, i*64+31) >> 11;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*43+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 43;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*43+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 21 | (uint64_t)IPX(ip, i*64+2) << 22;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*43+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 42;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*43+ 2) |= (uint64_t)IPV(ip, i*64+ 3) << 1 | (uint64_t)IPX(ip, i*64+4) << 44;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*43+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 20 | (uint64_t)IPX(ip, i*64+5) << 23;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*43+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 41;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*43+ 4) |= (uint64_t)IPV(ip, i*64+ 6) << 2 | (uint64_t)IPX(ip, i*64+7) << 45;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*43+ 5) = (uint64_t)IPW(ip, i*64+ 7) >> 19 | (uint64_t)IPX(ip, i*64+8) << 24;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*43+ 6) = (uint64_t)IPW(ip, i*64+ 8) >> 40;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*43+ 6) |= (uint64_t)IPV(ip, i*64+ 9) << 3 | (uint64_t)IPX(ip, i*64+10) << 46;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*43+ 7) = (uint64_t)IPW(ip, i*64+10) >> 18 | (uint64_t)IPX(ip, i*64+11) << 25;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*43+ 8) = (uint64_t)IPW(ip, i*64+11) >> 39;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*43+ 8) |= (uint64_t)IPV(ip, i*64+12) << 4 | (uint64_t)IPX(ip, i*64+13) << 47;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*43+ 9) = (uint64_t)IPW(ip, i*64+13) >> 17 | (uint64_t)IPX(ip, i*64+14) << 26;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*43+10) = (uint64_t)IPW(ip, i*64+14) >> 38;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*43+10) |= (uint64_t)IPV(ip, i*64+15) << 5 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*43+11) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 27;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*43+12) = (uint64_t)IPW(ip, i*64+17) >> 37;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*43+12) |= (uint64_t)IPV(ip, i*64+18) << 6 | (uint64_t)IPX(ip, i*64+19) << 49;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*43+13) = (uint64_t)IPW(ip, i*64+19) >> 15 | (uint64_t)IPX(ip, i*64+20) << 28;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*43+14) = (uint64_t)IPW(ip, i*64+20) >> 36;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*43+14) |= (uint64_t)IPV(ip, i*64+21) << 7 | (uint64_t)IPX(ip, i*64+22) << 50;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*43+15) = (uint64_t)IPW(ip, i*64+22) >> 14 | (uint64_t)IPX(ip, i*64+23) << 29;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*43+16) = (uint64_t)IPW(ip, i*64+23) >> 35;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*43+16) |= (uint64_t)IPV(ip, i*64+24) << 8 | (uint64_t)IPX(ip, i*64+25) << 51;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*43+17) = (uint64_t)IPW(ip, i*64+25) >> 13 | (uint64_t)IPX(ip, i*64+26) << 30;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*43+18) = (uint64_t)IPW(ip, i*64+26) >> 34;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*43+18) |= (uint64_t)IPV(ip, i*64+27) << 9 | (uint64_t)IPX(ip, i*64+28) << 52;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*43+19) = (uint64_t)IPW(ip, i*64+28) >> 12 | (uint64_t)IPX(ip, i*64+29) << 31;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*43+20) = (uint64_t)IPW(ip, i*64+29) >> 33;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*43+20) |= (uint64_t)IPV(ip, i*64+30) << 10 | (uint64_t)IPX(ip, i*64+31) << 53;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*43+21) = (uint64_t)IPW(ip, i*64+31) >> 11;\ } #define BITPACK64_43(ip, op, parm) { \ @@ -1527,22 +1527,22 @@ } #define BITBLK64_44(ip, i, op, parm) { ;\ - IPB(ip, i*16+ 0, parm); *((uint64_t *)op+i*11+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 44;\ - IPP(ip, i*16+ 1, parm); *((uint64_t *)op+i*11+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 20 | (uint64_t)IPX(ip, i*16+2) << 24;\ - IPP(ip, i*16+ 2, parm); *((uint64_t *)op+i*11+ 2) = (uint64_t)IPW(ip, i*16+ 2) >> 40;\ - IPB(ip, i*16+ 3, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*16+ 3) << 4 | (uint64_t)IPX(ip, i*16+4) << 48;\ - IPP(ip, i*16+ 4, parm); *((uint64_t *)op+i*11+ 3) = (uint64_t)IPW(ip, i*16+ 4) >> 16 | (uint64_t)IPX(ip, i*16+5) << 28;\ - IPP(ip, i*16+ 5, parm); *((uint64_t *)op+i*11+ 4) = (uint64_t)IPW(ip, i*16+ 5) >> 36;\ - IPB(ip, i*16+ 6, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*16+ 6) << 8 | (uint64_t)IPX(ip, i*16+7) << 52;\ - IPP(ip, i*16+ 7, parm); *((uint64_t *)op+i*11+ 5) = (uint64_t)IPW(ip, i*16+ 7) >> 12 | (uint64_t)IPX(ip, i*16+8) << 32;\ - IPP(ip, i*16+ 8, parm); *((uint64_t *)op+i*11+ 6) = (uint64_t)IPW(ip, i*16+ 8) >> 32;\ - IPB(ip, i*16+ 9, parm); *((uint64_t *)op+i*11+ 6) |= (uint64_t)IPV(ip, i*16+ 9) << 12 | (uint64_t)IPX(ip, i*16+10) << 56;\ - IPP(ip, i*16+10, parm); *((uint64_t *)op+i*11+ 7) = (uint64_t)IPW(ip, i*16+10) >> 8 | (uint64_t)IPX(ip, i*16+11) << 36;\ - IPP(ip, i*16+11, parm); *((uint64_t *)op+i*11+ 8) = (uint64_t)IPW(ip, i*16+11) >> 28;\ - IPB(ip, i*16+12, parm); *((uint64_t *)op+i*11+ 8) |= (uint64_t)IPV(ip, i*16+12) << 16 | (uint64_t)IPX(ip, i*16+13) << 60;\ - IPP(ip, i*16+13, parm); *((uint64_t *)op+i*11+ 9) = (uint64_t)IPW(ip, i*16+13) >> 4 | (uint64_t)IPX(ip, i*16+14) << 40;\ - IPP(ip, i*16+14, parm); *((uint64_t *)op+i*11+10) = (uint64_t)IPW(ip, i*16+14) >> 24;\ - IPB(ip, i*16+15, parm); *((uint64_t *)op+i*11+10) |= (uint64_t)IPV(ip, i*16+15) << 20;\ + IP9(ip, i*16+ 0, parm); *((uint64_t *)op+i*11+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 44;\ + IP64(ip, i*16+ 1, parm); *((uint64_t *)op+i*11+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 20 | (uint64_t)IPX(ip, i*16+2) << 24;\ + IP64(ip, i*16+ 2, parm); *((uint64_t *)op+i*11+ 2) = (uint64_t)IPW(ip, i*16+ 2) >> 40;\ + IP9(ip, i*16+ 3, parm); *((uint64_t *)op+i*11+ 2) |= (uint64_t)IPV(ip, i*16+ 3) << 4 | (uint64_t)IPX(ip, i*16+4) << 48;\ + IP64(ip, i*16+ 4, parm); *((uint64_t *)op+i*11+ 3) = (uint64_t)IPW(ip, i*16+ 4) >> 16 | (uint64_t)IPX(ip, i*16+5) << 28;\ + IP64(ip, i*16+ 5, parm); *((uint64_t *)op+i*11+ 4) = (uint64_t)IPW(ip, i*16+ 5) >> 36;\ + IP9(ip, i*16+ 6, parm); *((uint64_t *)op+i*11+ 4) |= (uint64_t)IPV(ip, i*16+ 6) << 8 | (uint64_t)IPX(ip, i*16+7) << 52;\ + IP64(ip, i*16+ 7, parm); *((uint64_t *)op+i*11+ 5) = (uint64_t)IPW(ip, i*16+ 7) >> 12 | (uint64_t)IPX(ip, i*16+8) << 32;\ + IP64(ip, i*16+ 8, parm); *((uint64_t *)op+i*11+ 6) = (uint64_t)IPW(ip, i*16+ 8) >> 32;\ + IP9(ip, i*16+ 9, parm); *((uint64_t *)op+i*11+ 6) |= (uint64_t)IPV(ip, i*16+ 9) << 12 | (uint64_t)IPX(ip, i*16+10) << 56;\ + IP64(ip, i*16+10, parm); *((uint64_t *)op+i*11+ 7) = (uint64_t)IPW(ip, i*16+10) >> 8 | (uint64_t)IPX(ip, i*16+11) << 36;\ + IP64(ip, i*16+11, parm); *((uint64_t *)op+i*11+ 8) = (uint64_t)IPW(ip, i*16+11) >> 28;\ + IP9(ip, i*16+12, parm); *((uint64_t *)op+i*11+ 8) |= (uint64_t)IPV(ip, i*16+12) << 16 | (uint64_t)IPX(ip, i*16+13) << 60;\ + IP64(ip, i*16+13, parm); *((uint64_t *)op+i*11+ 9) = (uint64_t)IPW(ip, i*16+13) >> 4 | (uint64_t)IPX(ip, i*16+14) << 40;\ + IP64(ip, i*16+14, parm); *((uint64_t *)op+i*11+10) = (uint64_t)IPW(ip, i*16+14) >> 24;\ + IP9(ip, i*16+15, parm); *((uint64_t *)op+i*11+10) |= (uint64_t)IPV(ip, i*16+15) << 20;\ } #define BITPACK64_44(ip, op, parm) { \ @@ -1551,38 +1551,38 @@ } #define BITBLK64_45(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*45+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 45;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*45+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 19 | (uint64_t)IPX(ip, i*64+2) << 26;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*45+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 38;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*45+ 2) |= (uint64_t)IPV(ip, i*64+ 3) << 7 | (uint64_t)IPX(ip, i*64+4) << 52;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*45+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 12 | (uint64_t)IPX(ip, i*64+5) << 33;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*45+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 31;\ - IPB(ip, i*64+ 6, parm); *((uint64_t *)op+i*45+ 4) |= (uint64_t)IPV(ip, i*64+ 6) << 14 | (uint64_t)IPX(ip, i*64+7) << 59;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*45+ 5) = (uint64_t)IPW(ip, i*64+ 7) >> 5 | (uint64_t)IPX(ip, i*64+8) << 40;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*45+ 6) = (uint64_t)IPW(ip, i*64+ 8) >> 24 | (uint64_t)IPX(ip, i*64+9) << 21;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*45+ 7) = (uint64_t)IPW(ip, i*64+ 9) >> 43;\ - IPB(ip, i*64+10, parm); *((uint64_t *)op+i*45+ 7) |= (uint64_t)IPV(ip, i*64+10) << 2 | (uint64_t)IPX(ip, i*64+11) << 47;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*45+ 8) = (uint64_t)IPW(ip, i*64+11) >> 17 | (uint64_t)IPX(ip, i*64+12) << 28;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*45+ 9) = (uint64_t)IPW(ip, i*64+12) >> 36;\ - IPB(ip, i*64+13, parm); *((uint64_t *)op+i*45+ 9) |= (uint64_t)IPV(ip, i*64+13) << 9 | (uint64_t)IPX(ip, i*64+14) << 54;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*45+10) = (uint64_t)IPW(ip, i*64+14) >> 10 | (uint64_t)IPX(ip, i*64+15) << 35;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*45+11) = (uint64_t)IPW(ip, i*64+15) >> 29;\ - IPB(ip, i*64+16, parm); *((uint64_t *)op+i*45+11) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 61;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*45+12) = (uint64_t)IPW(ip, i*64+17) >> 3 | (uint64_t)IPX(ip, i*64+18) << 42;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*45+13) = (uint64_t)IPW(ip, i*64+18) >> 22 | (uint64_t)IPX(ip, i*64+19) << 23;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*45+14) = (uint64_t)IPW(ip, i*64+19) >> 41;\ - IPB(ip, i*64+20, parm); *((uint64_t *)op+i*45+14) |= (uint64_t)IPV(ip, i*64+20) << 4 | (uint64_t)IPX(ip, i*64+21) << 49;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*45+15) = (uint64_t)IPW(ip, i*64+21) >> 15 | (uint64_t)IPX(ip, i*64+22) << 30;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*45+16) = (uint64_t)IPW(ip, i*64+22) >> 34;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*45+16) |= (uint64_t)IPV(ip, i*64+23) << 11 | (uint64_t)IPX(ip, i*64+24) << 56;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*45+17) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 37;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*45+18) = (uint64_t)IPW(ip, i*64+25) >> 27;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*45+18) |= (uint64_t)IPV(ip, i*64+26) << 18 | (uint64_t)IPX(ip, i*64+27) << 63;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*45+19) = (uint64_t)IPW(ip, i*64+27) >> 1 | (uint64_t)IPX(ip, i*64+28) << 44;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*45+20) = (uint64_t)IPW(ip, i*64+28) >> 20 | (uint64_t)IPX(ip, i*64+29) << 25;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*45+21) = (uint64_t)IPW(ip, i*64+29) >> 39;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*45+21) |= (uint64_t)IPV(ip, i*64+30) << 6 | (uint64_t)IPX(ip, i*64+31) << 51;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*45+22) = (uint64_t)IPW(ip, i*64+31) >> 13;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*45+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 45;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*45+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 19 | (uint64_t)IPX(ip, i*64+2) << 26;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*45+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 38;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*45+ 2) |= (uint64_t)IPV(ip, i*64+ 3) << 7 | (uint64_t)IPX(ip, i*64+4) << 52;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*45+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 12 | (uint64_t)IPX(ip, i*64+5) << 33;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*45+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 31;\ + IP9(ip, i*64+ 6, parm); *((uint64_t *)op+i*45+ 4) |= (uint64_t)IPV(ip, i*64+ 6) << 14 | (uint64_t)IPX(ip, i*64+7) << 59;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*45+ 5) = (uint64_t)IPW(ip, i*64+ 7) >> 5 | (uint64_t)IPX(ip, i*64+8) << 40;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*45+ 6) = (uint64_t)IPW(ip, i*64+ 8) >> 24 | (uint64_t)IPX(ip, i*64+9) << 21;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*45+ 7) = (uint64_t)IPW(ip, i*64+ 9) >> 43;\ + IP9(ip, i*64+10, parm); *((uint64_t *)op+i*45+ 7) |= (uint64_t)IPV(ip, i*64+10) << 2 | (uint64_t)IPX(ip, i*64+11) << 47;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*45+ 8) = (uint64_t)IPW(ip, i*64+11) >> 17 | (uint64_t)IPX(ip, i*64+12) << 28;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*45+ 9) = (uint64_t)IPW(ip, i*64+12) >> 36;\ + IP9(ip, i*64+13, parm); *((uint64_t *)op+i*45+ 9) |= (uint64_t)IPV(ip, i*64+13) << 9 | (uint64_t)IPX(ip, i*64+14) << 54;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*45+10) = (uint64_t)IPW(ip, i*64+14) >> 10 | (uint64_t)IPX(ip, i*64+15) << 35;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*45+11) = (uint64_t)IPW(ip, i*64+15) >> 29;\ + IP9(ip, i*64+16, parm); *((uint64_t *)op+i*45+11) |= (uint64_t)IPV(ip, i*64+16) << 16 | (uint64_t)IPX(ip, i*64+17) << 61;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*45+12) = (uint64_t)IPW(ip, i*64+17) >> 3 | (uint64_t)IPX(ip, i*64+18) << 42;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*45+13) = (uint64_t)IPW(ip, i*64+18) >> 22 | (uint64_t)IPX(ip, i*64+19) << 23;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*45+14) = (uint64_t)IPW(ip, i*64+19) >> 41;\ + IP9(ip, i*64+20, parm); *((uint64_t *)op+i*45+14) |= (uint64_t)IPV(ip, i*64+20) << 4 | (uint64_t)IPX(ip, i*64+21) << 49;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*45+15) = (uint64_t)IPW(ip, i*64+21) >> 15 | (uint64_t)IPX(ip, i*64+22) << 30;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*45+16) = (uint64_t)IPW(ip, i*64+22) >> 34;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*45+16) |= (uint64_t)IPV(ip, i*64+23) << 11 | (uint64_t)IPX(ip, i*64+24) << 56;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*45+17) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 37;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*45+18) = (uint64_t)IPW(ip, i*64+25) >> 27;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*45+18) |= (uint64_t)IPV(ip, i*64+26) << 18 | (uint64_t)IPX(ip, i*64+27) << 63;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*45+19) = (uint64_t)IPW(ip, i*64+27) >> 1 | (uint64_t)IPX(ip, i*64+28) << 44;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*45+20) = (uint64_t)IPW(ip, i*64+28) >> 20 | (uint64_t)IPX(ip, i*64+29) << 25;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*45+21) = (uint64_t)IPW(ip, i*64+29) >> 39;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*45+21) |= (uint64_t)IPV(ip, i*64+30) << 6 | (uint64_t)IPX(ip, i*64+31) << 51;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*45+22) = (uint64_t)IPW(ip, i*64+31) >> 13;\ } #define BITPACK64_45(ip, op, parm) { \ @@ -1590,38 +1590,38 @@ } #define BITBLK64_46(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*23+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 46;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*23+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 18 | (uint64_t)IPX(ip, i*32+2) << 28;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*23+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 36;\ - IPB(ip, i*32+ 3, parm); *((uint64_t *)op+i*23+ 2) |= (uint64_t)IPV(ip, i*32+ 3) << 10 | (uint64_t)IPX(ip, i*32+4) << 56;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*23+ 3) = (uint64_t)IPW(ip, i*32+ 4) >> 8 | (uint64_t)IPX(ip, i*32+5) << 38;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*23+ 4) = (uint64_t)IPW(ip, i*32+ 5) >> 26 | (uint64_t)IPX(ip, i*32+6) << 20;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*23+ 5) = (uint64_t)IPW(ip, i*32+ 6) >> 44;\ - IPB(ip, i*32+ 7, parm); *((uint64_t *)op+i*23+ 5) |= (uint64_t)IPV(ip, i*32+ 7) << 2 | (uint64_t)IPX(ip, i*32+8) << 48;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*23+ 6) = (uint64_t)IPW(ip, i*32+ 8) >> 16 | (uint64_t)IPX(ip, i*32+9) << 30;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*23+ 7) = (uint64_t)IPW(ip, i*32+ 9) >> 34;\ - IPB(ip, i*32+10, parm); *((uint64_t *)op+i*23+ 7) |= (uint64_t)IPV(ip, i*32+10) << 12 | (uint64_t)IPX(ip, i*32+11) << 58;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*23+ 8) = (uint64_t)IPW(ip, i*32+11) >> 6 | (uint64_t)IPX(ip, i*32+12) << 40;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*23+ 9) = (uint64_t)IPW(ip, i*32+12) >> 24 | (uint64_t)IPX(ip, i*32+13) << 22;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*23+10) = (uint64_t)IPW(ip, i*32+13) >> 42;\ - IPB(ip, i*32+14, parm); *((uint64_t *)op+i*23+10) |= (uint64_t)IPV(ip, i*32+14) << 4 | (uint64_t)IPX(ip, i*32+15) << 50;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*23+11) = (uint64_t)IPW(ip, i*32+15) >> 14 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*23+12) = (uint64_t)IPW(ip, i*32+16) >> 32;\ - IPB(ip, i*32+17, parm); *((uint64_t *)op+i*23+12) |= (uint64_t)IPV(ip, i*32+17) << 14 | (uint64_t)IPX(ip, i*32+18) << 60;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*23+13) = (uint64_t)IPW(ip, i*32+18) >> 4 | (uint64_t)IPX(ip, i*32+19) << 42;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*23+14) = (uint64_t)IPW(ip, i*32+19) >> 22 | (uint64_t)IPX(ip, i*32+20) << 24;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*23+15) = (uint64_t)IPW(ip, i*32+20) >> 40;\ - IPB(ip, i*32+21, parm); *((uint64_t *)op+i*23+15) |= (uint64_t)IPV(ip, i*32+21) << 6 | (uint64_t)IPX(ip, i*32+22) << 52;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*23+16) = (uint64_t)IPW(ip, i*32+22) >> 12 | (uint64_t)IPX(ip, i*32+23) << 34;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*23+17) = (uint64_t)IPW(ip, i*32+23) >> 30;\ - IPB(ip, i*32+24, parm); *((uint64_t *)op+i*23+17) |= (uint64_t)IPV(ip, i*32+24) << 16 | (uint64_t)IPX(ip, i*32+25) << 62;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*23+18) = (uint64_t)IPW(ip, i*32+25) >> 2 | (uint64_t)IPX(ip, i*32+26) << 44;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*23+19) = (uint64_t)IPW(ip, i*32+26) >> 20 | (uint64_t)IPX(ip, i*32+27) << 26;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*23+20) = (uint64_t)IPW(ip, i*32+27) >> 38;\ - IPB(ip, i*32+28, parm); *((uint64_t *)op+i*23+20) |= (uint64_t)IPV(ip, i*32+28) << 8 | (uint64_t)IPX(ip, i*32+29) << 54;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*23+21) = (uint64_t)IPW(ip, i*32+29) >> 10 | (uint64_t)IPX(ip, i*32+30) << 36;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*23+22) = (uint64_t)IPW(ip, i*32+30) >> 28;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*23+22) |= (uint64_t)IPV(ip, i*32+31) << 18;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*23+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 46;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*23+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 18 | (uint64_t)IPX(ip, i*32+2) << 28;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*23+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 36;\ + IP9(ip, i*32+ 3, parm); *((uint64_t *)op+i*23+ 2) |= (uint64_t)IPV(ip, i*32+ 3) << 10 | (uint64_t)IPX(ip, i*32+4) << 56;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*23+ 3) = (uint64_t)IPW(ip, i*32+ 4) >> 8 | (uint64_t)IPX(ip, i*32+5) << 38;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*23+ 4) = (uint64_t)IPW(ip, i*32+ 5) >> 26 | (uint64_t)IPX(ip, i*32+6) << 20;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*23+ 5) = (uint64_t)IPW(ip, i*32+ 6) >> 44;\ + IP9(ip, i*32+ 7, parm); *((uint64_t *)op+i*23+ 5) |= (uint64_t)IPV(ip, i*32+ 7) << 2 | (uint64_t)IPX(ip, i*32+8) << 48;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*23+ 6) = (uint64_t)IPW(ip, i*32+ 8) >> 16 | (uint64_t)IPX(ip, i*32+9) << 30;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*23+ 7) = (uint64_t)IPW(ip, i*32+ 9) >> 34;\ + IP9(ip, i*32+10, parm); *((uint64_t *)op+i*23+ 7) |= (uint64_t)IPV(ip, i*32+10) << 12 | (uint64_t)IPX(ip, i*32+11) << 58;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*23+ 8) = (uint64_t)IPW(ip, i*32+11) >> 6 | (uint64_t)IPX(ip, i*32+12) << 40;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*23+ 9) = (uint64_t)IPW(ip, i*32+12) >> 24 | (uint64_t)IPX(ip, i*32+13) << 22;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*23+10) = (uint64_t)IPW(ip, i*32+13) >> 42;\ + IP9(ip, i*32+14, parm); *((uint64_t *)op+i*23+10) |= (uint64_t)IPV(ip, i*32+14) << 4 | (uint64_t)IPX(ip, i*32+15) << 50;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*23+11) = (uint64_t)IPW(ip, i*32+15) >> 14 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*23+12) = (uint64_t)IPW(ip, i*32+16) >> 32;\ + IP9(ip, i*32+17, parm); *((uint64_t *)op+i*23+12) |= (uint64_t)IPV(ip, i*32+17) << 14 | (uint64_t)IPX(ip, i*32+18) << 60;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*23+13) = (uint64_t)IPW(ip, i*32+18) >> 4 | (uint64_t)IPX(ip, i*32+19) << 42;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*23+14) = (uint64_t)IPW(ip, i*32+19) >> 22 | (uint64_t)IPX(ip, i*32+20) << 24;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*23+15) = (uint64_t)IPW(ip, i*32+20) >> 40;\ + IP9(ip, i*32+21, parm); *((uint64_t *)op+i*23+15) |= (uint64_t)IPV(ip, i*32+21) << 6 | (uint64_t)IPX(ip, i*32+22) << 52;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*23+16) = (uint64_t)IPW(ip, i*32+22) >> 12 | (uint64_t)IPX(ip, i*32+23) << 34;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*23+17) = (uint64_t)IPW(ip, i*32+23) >> 30;\ + IP9(ip, i*32+24, parm); *((uint64_t *)op+i*23+17) |= (uint64_t)IPV(ip, i*32+24) << 16 | (uint64_t)IPX(ip, i*32+25) << 62;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*23+18) = (uint64_t)IPW(ip, i*32+25) >> 2 | (uint64_t)IPX(ip, i*32+26) << 44;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*23+19) = (uint64_t)IPW(ip, i*32+26) >> 20 | (uint64_t)IPX(ip, i*32+27) << 26;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*23+20) = (uint64_t)IPW(ip, i*32+27) >> 38;\ + IP9(ip, i*32+28, parm); *((uint64_t *)op+i*23+20) |= (uint64_t)IPV(ip, i*32+28) << 8 | (uint64_t)IPX(ip, i*32+29) << 54;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*23+21) = (uint64_t)IPW(ip, i*32+29) >> 10 | (uint64_t)IPX(ip, i*32+30) << 36;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*23+22) = (uint64_t)IPW(ip, i*32+30) >> 28;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*23+22) |= (uint64_t)IPV(ip, i*32+31) << 18;\ } #define BITPACK64_46(ip, op, parm) { \ @@ -1629,38 +1629,38 @@ } #define BITBLK64_47(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*47+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 47;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*47+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 17 | (uint64_t)IPX(ip, i*64+2) << 30;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*47+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 34;\ - IPB(ip, i*64+ 3, parm); *((uint64_t *)op+i*47+ 2) |= (uint64_t)IPV(ip, i*64+ 3) << 13 | (uint64_t)IPX(ip, i*64+4) << 60;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*47+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 4 | (uint64_t)IPX(ip, i*64+5) << 43;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*47+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 21 | (uint64_t)IPX(ip, i*64+6) << 26;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*47+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 38;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*47+ 5) |= (uint64_t)IPV(ip, i*64+ 7) << 9 | (uint64_t)IPX(ip, i*64+8) << 56;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*47+ 6) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 39;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*47+ 7) = (uint64_t)IPW(ip, i*64+ 9) >> 25 | (uint64_t)IPX(ip, i*64+10) << 22;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*47+ 8) = (uint64_t)IPW(ip, i*64+10) >> 42;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*47+ 8) |= (uint64_t)IPV(ip, i*64+11) << 5 | (uint64_t)IPX(ip, i*64+12) << 52;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*47+ 9) = (uint64_t)IPW(ip, i*64+12) >> 12 | (uint64_t)IPX(ip, i*64+13) << 35;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*47+10) = (uint64_t)IPW(ip, i*64+13) >> 29 | (uint64_t)IPX(ip, i*64+14) << 18;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*47+11) = (uint64_t)IPW(ip, i*64+14) >> 46;\ - IPB(ip, i*64+15, parm); *((uint64_t *)op+i*47+11) |= (uint64_t)IPV(ip, i*64+15) << 1 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*47+12) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 31;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*47+13) = (uint64_t)IPW(ip, i*64+17) >> 33;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*47+13) |= (uint64_t)IPV(ip, i*64+18) << 14 | (uint64_t)IPX(ip, i*64+19) << 61;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*47+14) = (uint64_t)IPW(ip, i*64+19) >> 3 | (uint64_t)IPX(ip, i*64+20) << 44;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*47+15) = (uint64_t)IPW(ip, i*64+20) >> 20 | (uint64_t)IPX(ip, i*64+21) << 27;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*47+16) = (uint64_t)IPW(ip, i*64+21) >> 37;\ - IPB(ip, i*64+22, parm); *((uint64_t *)op+i*47+16) |= (uint64_t)IPV(ip, i*64+22) << 10 | (uint64_t)IPX(ip, i*64+23) << 57;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*47+17) = (uint64_t)IPW(ip, i*64+23) >> 7 | (uint64_t)IPX(ip, i*64+24) << 40;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*47+18) = (uint64_t)IPW(ip, i*64+24) >> 24 | (uint64_t)IPX(ip, i*64+25) << 23;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*47+19) = (uint64_t)IPW(ip, i*64+25) >> 41;\ - IPB(ip, i*64+26, parm); *((uint64_t *)op+i*47+19) |= (uint64_t)IPV(ip, i*64+26) << 6 | (uint64_t)IPX(ip, i*64+27) << 53;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*47+20) = (uint64_t)IPW(ip, i*64+27) >> 11 | (uint64_t)IPX(ip, i*64+28) << 36;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*47+21) = (uint64_t)IPW(ip, i*64+28) >> 28 | (uint64_t)IPX(ip, i*64+29) << 19;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*47+22) = (uint64_t)IPW(ip, i*64+29) >> 45;\ - IPB(ip, i*64+30, parm); *((uint64_t *)op+i*47+22) |= (uint64_t)IPV(ip, i*64+30) << 2 | (uint64_t)IPX(ip, i*64+31) << 49;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*47+23) = (uint64_t)IPW(ip, i*64+31) >> 15;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*47+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 47;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*47+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 17 | (uint64_t)IPX(ip, i*64+2) << 30;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*47+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 34;\ + IP9(ip, i*64+ 3, parm); *((uint64_t *)op+i*47+ 2) |= (uint64_t)IPV(ip, i*64+ 3) << 13 | (uint64_t)IPX(ip, i*64+4) << 60;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*47+ 3) = (uint64_t)IPW(ip, i*64+ 4) >> 4 | (uint64_t)IPX(ip, i*64+5) << 43;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*47+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 21 | (uint64_t)IPX(ip, i*64+6) << 26;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*47+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 38;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*47+ 5) |= (uint64_t)IPV(ip, i*64+ 7) << 9 | (uint64_t)IPX(ip, i*64+8) << 56;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*47+ 6) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 39;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*47+ 7) = (uint64_t)IPW(ip, i*64+ 9) >> 25 | (uint64_t)IPX(ip, i*64+10) << 22;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*47+ 8) = (uint64_t)IPW(ip, i*64+10) >> 42;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*47+ 8) |= (uint64_t)IPV(ip, i*64+11) << 5 | (uint64_t)IPX(ip, i*64+12) << 52;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*47+ 9) = (uint64_t)IPW(ip, i*64+12) >> 12 | (uint64_t)IPX(ip, i*64+13) << 35;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*47+10) = (uint64_t)IPW(ip, i*64+13) >> 29 | (uint64_t)IPX(ip, i*64+14) << 18;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*47+11) = (uint64_t)IPW(ip, i*64+14) >> 46;\ + IP9(ip, i*64+15, parm); *((uint64_t *)op+i*47+11) |= (uint64_t)IPV(ip, i*64+15) << 1 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*47+12) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 31;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*47+13) = (uint64_t)IPW(ip, i*64+17) >> 33;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*47+13) |= (uint64_t)IPV(ip, i*64+18) << 14 | (uint64_t)IPX(ip, i*64+19) << 61;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*47+14) = (uint64_t)IPW(ip, i*64+19) >> 3 | (uint64_t)IPX(ip, i*64+20) << 44;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*47+15) = (uint64_t)IPW(ip, i*64+20) >> 20 | (uint64_t)IPX(ip, i*64+21) << 27;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*47+16) = (uint64_t)IPW(ip, i*64+21) >> 37;\ + IP9(ip, i*64+22, parm); *((uint64_t *)op+i*47+16) |= (uint64_t)IPV(ip, i*64+22) << 10 | (uint64_t)IPX(ip, i*64+23) << 57;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*47+17) = (uint64_t)IPW(ip, i*64+23) >> 7 | (uint64_t)IPX(ip, i*64+24) << 40;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*47+18) = (uint64_t)IPW(ip, i*64+24) >> 24 | (uint64_t)IPX(ip, i*64+25) << 23;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*47+19) = (uint64_t)IPW(ip, i*64+25) >> 41;\ + IP9(ip, i*64+26, parm); *((uint64_t *)op+i*47+19) |= (uint64_t)IPV(ip, i*64+26) << 6 | (uint64_t)IPX(ip, i*64+27) << 53;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*47+20) = (uint64_t)IPW(ip, i*64+27) >> 11 | (uint64_t)IPX(ip, i*64+28) << 36;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*47+21) = (uint64_t)IPW(ip, i*64+28) >> 28 | (uint64_t)IPX(ip, i*64+29) << 19;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*47+22) = (uint64_t)IPW(ip, i*64+29) >> 45;\ + IP9(ip, i*64+30, parm); *((uint64_t *)op+i*47+22) |= (uint64_t)IPV(ip, i*64+30) << 2 | (uint64_t)IPX(ip, i*64+31) << 49;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*47+23) = (uint64_t)IPW(ip, i*64+31) >> 15;\ } #define BITPACK64_47(ip, op, parm) { \ @@ -1668,10 +1668,10 @@ } #define BITBLK64_48(ip, i, op, parm) { ;\ - IPB(ip, i*4+ 0, parm); *((uint64_t *)op+i*3+ 0) = (uint64_t)IPV(ip, i*4+ 0) | (uint64_t)IPX(ip, i*4+1) << 48;\ - IPP(ip, i*4+ 1, parm); *((uint64_t *)op+i*3+ 1) = (uint64_t)IPW(ip, i*4+ 1) >> 16 | (uint64_t)IPX(ip, i*4+2) << 32;\ - IPP(ip, i*4+ 2, parm); *((uint64_t *)op+i*3+ 2) = (uint64_t)IPW(ip, i*4+ 2) >> 32;\ - IPB(ip, i*4+ 3, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*4+ 3) << 16;\ + IP9(ip, i*4+ 0, parm); *((uint64_t *)op+i*3+ 0) = (uint64_t)IPV(ip, i*4+ 0) | (uint64_t)IPX(ip, i*4+1) << 48;\ + IP64(ip, i*4+ 1, parm); *((uint64_t *)op+i*3+ 1) = (uint64_t)IPW(ip, i*4+ 1) >> 16 | (uint64_t)IPX(ip, i*4+2) << 32;\ + IP64(ip, i*4+ 2, parm); *((uint64_t *)op+i*3+ 2) = (uint64_t)IPW(ip, i*4+ 2) >> 32;\ + IP9(ip, i*4+ 3, parm); *((uint64_t *)op+i*3+ 2) |= (uint64_t)IPV(ip, i*4+ 3) << 16;\ } #define BITPACK64_48(ip, op, parm) { \ @@ -1686,38 +1686,38 @@ } #define BITBLK64_49(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*49+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 49;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*49+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 15 | (uint64_t)IPX(ip, i*64+2) << 34;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*49+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 30 | (uint64_t)IPX(ip, i*64+3) << 19;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*49+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 45;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*49+ 3) |= (uint64_t)IPV(ip, i*64+ 4) << 4 | (uint64_t)IPX(ip, i*64+5) << 53;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*49+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 11 | (uint64_t)IPX(ip, i*64+6) << 38;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*49+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 26 | (uint64_t)IPX(ip, i*64+7) << 23;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*49+ 6) = (uint64_t)IPW(ip, i*64+ 7) >> 41;\ - IPB(ip, i*64+ 8, parm); *((uint64_t *)op+i*49+ 6) |= (uint64_t)IPV(ip, i*64+ 8) << 8 | (uint64_t)IPX(ip, i*64+9) << 57;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*49+ 7) = (uint64_t)IPW(ip, i*64+ 9) >> 7 | (uint64_t)IPX(ip, i*64+10) << 42;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*49+ 8) = (uint64_t)IPW(ip, i*64+10) >> 22 | (uint64_t)IPX(ip, i*64+11) << 27;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*49+ 9) = (uint64_t)IPW(ip, i*64+11) >> 37;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*49+ 9) |= (uint64_t)IPV(ip, i*64+12) << 12 | (uint64_t)IPX(ip, i*64+13) << 61;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*49+10) = (uint64_t)IPW(ip, i*64+13) >> 3 | (uint64_t)IPX(ip, i*64+14) << 46;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*49+11) = (uint64_t)IPW(ip, i*64+14) >> 18 | (uint64_t)IPX(ip, i*64+15) << 31;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*49+12) = (uint64_t)IPW(ip, i*64+15) >> 33 | (uint64_t)IPX(ip, i*64+16) << 16;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*49+13) = (uint64_t)IPW(ip, i*64+16) >> 48;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*49+13) |= (uint64_t)IPV(ip, i*64+17) << 1 | (uint64_t)IPX(ip, i*64+18) << 50;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*49+14) = (uint64_t)IPW(ip, i*64+18) >> 14 | (uint64_t)IPX(ip, i*64+19) << 35;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*49+15) = (uint64_t)IPW(ip, i*64+19) >> 29 | (uint64_t)IPX(ip, i*64+20) << 20;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*49+16) = (uint64_t)IPW(ip, i*64+20) >> 44;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*49+16) |= (uint64_t)IPV(ip, i*64+21) << 5 | (uint64_t)IPX(ip, i*64+22) << 54;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*49+17) = (uint64_t)IPW(ip, i*64+22) >> 10 | (uint64_t)IPX(ip, i*64+23) << 39;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*49+18) = (uint64_t)IPW(ip, i*64+23) >> 25 | (uint64_t)IPX(ip, i*64+24) << 24;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*49+19) = (uint64_t)IPW(ip, i*64+24) >> 40;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*49+19) |= (uint64_t)IPV(ip, i*64+25) << 9 | (uint64_t)IPX(ip, i*64+26) << 58;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*49+20) = (uint64_t)IPW(ip, i*64+26) >> 6 | (uint64_t)IPX(ip, i*64+27) << 43;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*49+21) = (uint64_t)IPW(ip, i*64+27) >> 21 | (uint64_t)IPX(ip, i*64+28) << 28;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*49+22) = (uint64_t)IPW(ip, i*64+28) >> 36;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*49+22) |= (uint64_t)IPV(ip, i*64+29) << 13 | (uint64_t)IPX(ip, i*64+30) << 62;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*49+23) = (uint64_t)IPW(ip, i*64+30) >> 2 | (uint64_t)IPX(ip, i*64+31) << 47;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*49+24) = (uint64_t)IPW(ip, i*64+31) >> 17;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*49+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 49;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*49+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 15 | (uint64_t)IPX(ip, i*64+2) << 34;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*49+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 30 | (uint64_t)IPX(ip, i*64+3) << 19;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*49+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 45;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*49+ 3) |= (uint64_t)IPV(ip, i*64+ 4) << 4 | (uint64_t)IPX(ip, i*64+5) << 53;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*49+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 11 | (uint64_t)IPX(ip, i*64+6) << 38;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*49+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 26 | (uint64_t)IPX(ip, i*64+7) << 23;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*49+ 6) = (uint64_t)IPW(ip, i*64+ 7) >> 41;\ + IP9(ip, i*64+ 8, parm); *((uint64_t *)op+i*49+ 6) |= (uint64_t)IPV(ip, i*64+ 8) << 8 | (uint64_t)IPX(ip, i*64+9) << 57;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*49+ 7) = (uint64_t)IPW(ip, i*64+ 9) >> 7 | (uint64_t)IPX(ip, i*64+10) << 42;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*49+ 8) = (uint64_t)IPW(ip, i*64+10) >> 22 | (uint64_t)IPX(ip, i*64+11) << 27;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*49+ 9) = (uint64_t)IPW(ip, i*64+11) >> 37;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*49+ 9) |= (uint64_t)IPV(ip, i*64+12) << 12 | (uint64_t)IPX(ip, i*64+13) << 61;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*49+10) = (uint64_t)IPW(ip, i*64+13) >> 3 | (uint64_t)IPX(ip, i*64+14) << 46;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*49+11) = (uint64_t)IPW(ip, i*64+14) >> 18 | (uint64_t)IPX(ip, i*64+15) << 31;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*49+12) = (uint64_t)IPW(ip, i*64+15) >> 33 | (uint64_t)IPX(ip, i*64+16) << 16;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*49+13) = (uint64_t)IPW(ip, i*64+16) >> 48;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*49+13) |= (uint64_t)IPV(ip, i*64+17) << 1 | (uint64_t)IPX(ip, i*64+18) << 50;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*49+14) = (uint64_t)IPW(ip, i*64+18) >> 14 | (uint64_t)IPX(ip, i*64+19) << 35;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*49+15) = (uint64_t)IPW(ip, i*64+19) >> 29 | (uint64_t)IPX(ip, i*64+20) << 20;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*49+16) = (uint64_t)IPW(ip, i*64+20) >> 44;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*49+16) |= (uint64_t)IPV(ip, i*64+21) << 5 | (uint64_t)IPX(ip, i*64+22) << 54;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*49+17) = (uint64_t)IPW(ip, i*64+22) >> 10 | (uint64_t)IPX(ip, i*64+23) << 39;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*49+18) = (uint64_t)IPW(ip, i*64+23) >> 25 | (uint64_t)IPX(ip, i*64+24) << 24;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*49+19) = (uint64_t)IPW(ip, i*64+24) >> 40;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*49+19) |= (uint64_t)IPV(ip, i*64+25) << 9 | (uint64_t)IPX(ip, i*64+26) << 58;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*49+20) = (uint64_t)IPW(ip, i*64+26) >> 6 | (uint64_t)IPX(ip, i*64+27) << 43;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*49+21) = (uint64_t)IPW(ip, i*64+27) >> 21 | (uint64_t)IPX(ip, i*64+28) << 28;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*49+22) = (uint64_t)IPW(ip, i*64+28) >> 36;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*49+22) |= (uint64_t)IPV(ip, i*64+29) << 13 | (uint64_t)IPX(ip, i*64+30) << 62;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*49+23) = (uint64_t)IPW(ip, i*64+30) >> 2 | (uint64_t)IPX(ip, i*64+31) << 47;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*49+24) = (uint64_t)IPW(ip, i*64+31) >> 17;\ } #define BITPACK64_49(ip, op, parm) { \ @@ -1725,38 +1725,38 @@ } #define BITBLK64_50(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*25+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 50;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*25+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 14 | (uint64_t)IPX(ip, i*32+2) << 36;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*25+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 28 | (uint64_t)IPX(ip, i*32+3) << 22;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*25+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 42;\ - IPB(ip, i*32+ 4, parm); *((uint64_t *)op+i*25+ 3) |= (uint64_t)IPV(ip, i*32+ 4) << 8 | (uint64_t)IPX(ip, i*32+5) << 58;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*25+ 4) = (uint64_t)IPW(ip, i*32+ 5) >> 6 | (uint64_t)IPX(ip, i*32+6) << 44;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*25+ 5) = (uint64_t)IPW(ip, i*32+ 6) >> 20 | (uint64_t)IPX(ip, i*32+7) << 30;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*25+ 6) = (uint64_t)IPW(ip, i*32+ 7) >> 34 | (uint64_t)IPX(ip, i*32+8) << 16;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*25+ 7) = (uint64_t)IPW(ip, i*32+ 8) >> 48;\ - IPB(ip, i*32+ 9, parm); *((uint64_t *)op+i*25+ 7) |= (uint64_t)IPV(ip, i*32+ 9) << 2 | (uint64_t)IPX(ip, i*32+10) << 52;\ - IPP(ip, i*32+10, parm); *((uint64_t *)op+i*25+ 8) = (uint64_t)IPW(ip, i*32+10) >> 12 | (uint64_t)IPX(ip, i*32+11) << 38;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*25+ 9) = (uint64_t)IPW(ip, i*32+11) >> 26 | (uint64_t)IPX(ip, i*32+12) << 24;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*25+10) = (uint64_t)IPW(ip, i*32+12) >> 40;\ - IPB(ip, i*32+13, parm); *((uint64_t *)op+i*25+10) |= (uint64_t)IPV(ip, i*32+13) << 10 | (uint64_t)IPX(ip, i*32+14) << 60;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*25+11) = (uint64_t)IPW(ip, i*32+14) >> 4 | (uint64_t)IPX(ip, i*32+15) << 46;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*25+12) = (uint64_t)IPW(ip, i*32+15) >> 18 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*25+13) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 18;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*25+14) = (uint64_t)IPW(ip, i*32+17) >> 46;\ - IPB(ip, i*32+18, parm); *((uint64_t *)op+i*25+14) |= (uint64_t)IPV(ip, i*32+18) << 4 | (uint64_t)IPX(ip, i*32+19) << 54;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*25+15) = (uint64_t)IPW(ip, i*32+19) >> 10 | (uint64_t)IPX(ip, i*32+20) << 40;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*25+16) = (uint64_t)IPW(ip, i*32+20) >> 24 | (uint64_t)IPX(ip, i*32+21) << 26;\ - IPP(ip, i*32+21, parm); *((uint64_t *)op+i*25+17) = (uint64_t)IPW(ip, i*32+21) >> 38;\ - IPB(ip, i*32+22, parm); *((uint64_t *)op+i*25+17) |= (uint64_t)IPV(ip, i*32+22) << 12 | (uint64_t)IPX(ip, i*32+23) << 62;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*25+18) = (uint64_t)IPW(ip, i*32+23) >> 2 | (uint64_t)IPX(ip, i*32+24) << 48;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*25+19) = (uint64_t)IPW(ip, i*32+24) >> 16 | (uint64_t)IPX(ip, i*32+25) << 34;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*25+20) = (uint64_t)IPW(ip, i*32+25) >> 30 | (uint64_t)IPX(ip, i*32+26) << 20;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*25+21) = (uint64_t)IPW(ip, i*32+26) >> 44;\ - IPB(ip, i*32+27, parm); *((uint64_t *)op+i*25+21) |= (uint64_t)IPV(ip, i*32+27) << 6 | (uint64_t)IPX(ip, i*32+28) << 56;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*25+22) = (uint64_t)IPW(ip, i*32+28) >> 8 | (uint64_t)IPX(ip, i*32+29) << 42;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*25+23) = (uint64_t)IPW(ip, i*32+29) >> 22 | (uint64_t)IPX(ip, i*32+30) << 28;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*25+24) = (uint64_t)IPW(ip, i*32+30) >> 36;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*25+24) |= (uint64_t)IPV(ip, i*32+31) << 14;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*25+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 50;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*25+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 14 | (uint64_t)IPX(ip, i*32+2) << 36;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*25+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 28 | (uint64_t)IPX(ip, i*32+3) << 22;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*25+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 42;\ + IP9(ip, i*32+ 4, parm); *((uint64_t *)op+i*25+ 3) |= (uint64_t)IPV(ip, i*32+ 4) << 8 | (uint64_t)IPX(ip, i*32+5) << 58;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*25+ 4) = (uint64_t)IPW(ip, i*32+ 5) >> 6 | (uint64_t)IPX(ip, i*32+6) << 44;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*25+ 5) = (uint64_t)IPW(ip, i*32+ 6) >> 20 | (uint64_t)IPX(ip, i*32+7) << 30;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*25+ 6) = (uint64_t)IPW(ip, i*32+ 7) >> 34 | (uint64_t)IPX(ip, i*32+8) << 16;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*25+ 7) = (uint64_t)IPW(ip, i*32+ 8) >> 48;\ + IP9(ip, i*32+ 9, parm); *((uint64_t *)op+i*25+ 7) |= (uint64_t)IPV(ip, i*32+ 9) << 2 | (uint64_t)IPX(ip, i*32+10) << 52;\ + IP64(ip, i*32+10, parm); *((uint64_t *)op+i*25+ 8) = (uint64_t)IPW(ip, i*32+10) >> 12 | (uint64_t)IPX(ip, i*32+11) << 38;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*25+ 9) = (uint64_t)IPW(ip, i*32+11) >> 26 | (uint64_t)IPX(ip, i*32+12) << 24;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*25+10) = (uint64_t)IPW(ip, i*32+12) >> 40;\ + IP9(ip, i*32+13, parm); *((uint64_t *)op+i*25+10) |= (uint64_t)IPV(ip, i*32+13) << 10 | (uint64_t)IPX(ip, i*32+14) << 60;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*25+11) = (uint64_t)IPW(ip, i*32+14) >> 4 | (uint64_t)IPX(ip, i*32+15) << 46;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*25+12) = (uint64_t)IPW(ip, i*32+15) >> 18 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*25+13) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 18;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*25+14) = (uint64_t)IPW(ip, i*32+17) >> 46;\ + IP9(ip, i*32+18, parm); *((uint64_t *)op+i*25+14) |= (uint64_t)IPV(ip, i*32+18) << 4 | (uint64_t)IPX(ip, i*32+19) << 54;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*25+15) = (uint64_t)IPW(ip, i*32+19) >> 10 | (uint64_t)IPX(ip, i*32+20) << 40;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*25+16) = (uint64_t)IPW(ip, i*32+20) >> 24 | (uint64_t)IPX(ip, i*32+21) << 26;\ + IP64(ip, i*32+21, parm); *((uint64_t *)op+i*25+17) = (uint64_t)IPW(ip, i*32+21) >> 38;\ + IP9(ip, i*32+22, parm); *((uint64_t *)op+i*25+17) |= (uint64_t)IPV(ip, i*32+22) << 12 | (uint64_t)IPX(ip, i*32+23) << 62;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*25+18) = (uint64_t)IPW(ip, i*32+23) >> 2 | (uint64_t)IPX(ip, i*32+24) << 48;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*25+19) = (uint64_t)IPW(ip, i*32+24) >> 16 | (uint64_t)IPX(ip, i*32+25) << 34;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*25+20) = (uint64_t)IPW(ip, i*32+25) >> 30 | (uint64_t)IPX(ip, i*32+26) << 20;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*25+21) = (uint64_t)IPW(ip, i*32+26) >> 44;\ + IP9(ip, i*32+27, parm); *((uint64_t *)op+i*25+21) |= (uint64_t)IPV(ip, i*32+27) << 6 | (uint64_t)IPX(ip, i*32+28) << 56;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*25+22) = (uint64_t)IPW(ip, i*32+28) >> 8 | (uint64_t)IPX(ip, i*32+29) << 42;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*25+23) = (uint64_t)IPW(ip, i*32+29) >> 22 | (uint64_t)IPX(ip, i*32+30) << 28;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*25+24) = (uint64_t)IPW(ip, i*32+30) >> 36;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*25+24) |= (uint64_t)IPV(ip, i*32+31) << 14;\ } #define BITPACK64_50(ip, op, parm) { \ @@ -1764,38 +1764,38 @@ } #define BITBLK64_51(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*51+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 51;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*51+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 13 | (uint64_t)IPX(ip, i*64+2) << 38;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*51+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 26 | (uint64_t)IPX(ip, i*64+3) << 25;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*51+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 39;\ - IPB(ip, i*64+ 4, parm); *((uint64_t *)op+i*51+ 3) |= (uint64_t)IPV(ip, i*64+ 4) << 12 | (uint64_t)IPX(ip, i*64+5) << 63;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*51+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 1 | (uint64_t)IPX(ip, i*64+6) << 50;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*51+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 14 | (uint64_t)IPX(ip, i*64+7) << 37;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*51+ 6) = (uint64_t)IPW(ip, i*64+ 7) >> 27 | (uint64_t)IPX(ip, i*64+8) << 24;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*51+ 7) = (uint64_t)IPW(ip, i*64+ 8) >> 40;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*51+ 7) |= (uint64_t)IPV(ip, i*64+ 9) << 11 | (uint64_t)IPX(ip, i*64+10) << 62;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*51+ 8) = (uint64_t)IPW(ip, i*64+10) >> 2 | (uint64_t)IPX(ip, i*64+11) << 49;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*51+ 9) = (uint64_t)IPW(ip, i*64+11) >> 15 | (uint64_t)IPX(ip, i*64+12) << 36;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*51+10) = (uint64_t)IPW(ip, i*64+12) >> 28 | (uint64_t)IPX(ip, i*64+13) << 23;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*51+11) = (uint64_t)IPW(ip, i*64+13) >> 41;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*51+11) |= (uint64_t)IPV(ip, i*64+14) << 10 | (uint64_t)IPX(ip, i*64+15) << 61;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*51+12) = (uint64_t)IPW(ip, i*64+15) >> 3 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*51+13) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 35;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*51+14) = (uint64_t)IPW(ip, i*64+17) >> 29 | (uint64_t)IPX(ip, i*64+18) << 22;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*51+15) = (uint64_t)IPW(ip, i*64+18) >> 42;\ - IPB(ip, i*64+19, parm); *((uint64_t *)op+i*51+15) |= (uint64_t)IPV(ip, i*64+19) << 9 | (uint64_t)IPX(ip, i*64+20) << 60;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*51+16) = (uint64_t)IPW(ip, i*64+20) >> 4 | (uint64_t)IPX(ip, i*64+21) << 47;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*51+17) = (uint64_t)IPW(ip, i*64+21) >> 17 | (uint64_t)IPX(ip, i*64+22) << 34;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*51+18) = (uint64_t)IPW(ip, i*64+22) >> 30 | (uint64_t)IPX(ip, i*64+23) << 21;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*51+19) = (uint64_t)IPW(ip, i*64+23) >> 43;\ - IPB(ip, i*64+24, parm); *((uint64_t *)op+i*51+19) |= (uint64_t)IPV(ip, i*64+24) << 8 | (uint64_t)IPX(ip, i*64+25) << 59;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*51+20) = (uint64_t)IPW(ip, i*64+25) >> 5 | (uint64_t)IPX(ip, i*64+26) << 46;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*51+21) = (uint64_t)IPW(ip, i*64+26) >> 18 | (uint64_t)IPX(ip, i*64+27) << 33;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*51+22) = (uint64_t)IPW(ip, i*64+27) >> 31 | (uint64_t)IPX(ip, i*64+28) << 20;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*51+23) = (uint64_t)IPW(ip, i*64+28) >> 44;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*51+23) |= (uint64_t)IPV(ip, i*64+29) << 7 | (uint64_t)IPX(ip, i*64+30) << 58;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*51+24) = (uint64_t)IPW(ip, i*64+30) >> 6 | (uint64_t)IPX(ip, i*64+31) << 45;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*51+25) = (uint64_t)IPW(ip, i*64+31) >> 19;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*51+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 51;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*51+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 13 | (uint64_t)IPX(ip, i*64+2) << 38;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*51+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 26 | (uint64_t)IPX(ip, i*64+3) << 25;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*51+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 39;\ + IP9(ip, i*64+ 4, parm); *((uint64_t *)op+i*51+ 3) |= (uint64_t)IPV(ip, i*64+ 4) << 12 | (uint64_t)IPX(ip, i*64+5) << 63;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*51+ 4) = (uint64_t)IPW(ip, i*64+ 5) >> 1 | (uint64_t)IPX(ip, i*64+6) << 50;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*51+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 14 | (uint64_t)IPX(ip, i*64+7) << 37;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*51+ 6) = (uint64_t)IPW(ip, i*64+ 7) >> 27 | (uint64_t)IPX(ip, i*64+8) << 24;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*51+ 7) = (uint64_t)IPW(ip, i*64+ 8) >> 40;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*51+ 7) |= (uint64_t)IPV(ip, i*64+ 9) << 11 | (uint64_t)IPX(ip, i*64+10) << 62;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*51+ 8) = (uint64_t)IPW(ip, i*64+10) >> 2 | (uint64_t)IPX(ip, i*64+11) << 49;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*51+ 9) = (uint64_t)IPW(ip, i*64+11) >> 15 | (uint64_t)IPX(ip, i*64+12) << 36;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*51+10) = (uint64_t)IPW(ip, i*64+12) >> 28 | (uint64_t)IPX(ip, i*64+13) << 23;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*51+11) = (uint64_t)IPW(ip, i*64+13) >> 41;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*51+11) |= (uint64_t)IPV(ip, i*64+14) << 10 | (uint64_t)IPX(ip, i*64+15) << 61;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*51+12) = (uint64_t)IPW(ip, i*64+15) >> 3 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*51+13) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 35;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*51+14) = (uint64_t)IPW(ip, i*64+17) >> 29 | (uint64_t)IPX(ip, i*64+18) << 22;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*51+15) = (uint64_t)IPW(ip, i*64+18) >> 42;\ + IP9(ip, i*64+19, parm); *((uint64_t *)op+i*51+15) |= (uint64_t)IPV(ip, i*64+19) << 9 | (uint64_t)IPX(ip, i*64+20) << 60;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*51+16) = (uint64_t)IPW(ip, i*64+20) >> 4 | (uint64_t)IPX(ip, i*64+21) << 47;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*51+17) = (uint64_t)IPW(ip, i*64+21) >> 17 | (uint64_t)IPX(ip, i*64+22) << 34;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*51+18) = (uint64_t)IPW(ip, i*64+22) >> 30 | (uint64_t)IPX(ip, i*64+23) << 21;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*51+19) = (uint64_t)IPW(ip, i*64+23) >> 43;\ + IP9(ip, i*64+24, parm); *((uint64_t *)op+i*51+19) |= (uint64_t)IPV(ip, i*64+24) << 8 | (uint64_t)IPX(ip, i*64+25) << 59;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*51+20) = (uint64_t)IPW(ip, i*64+25) >> 5 | (uint64_t)IPX(ip, i*64+26) << 46;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*51+21) = (uint64_t)IPW(ip, i*64+26) >> 18 | (uint64_t)IPX(ip, i*64+27) << 33;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*51+22) = (uint64_t)IPW(ip, i*64+27) >> 31 | (uint64_t)IPX(ip, i*64+28) << 20;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*51+23) = (uint64_t)IPW(ip, i*64+28) >> 44;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*51+23) |= (uint64_t)IPV(ip, i*64+29) << 7 | (uint64_t)IPX(ip, i*64+30) << 58;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*51+24) = (uint64_t)IPW(ip, i*64+30) >> 6 | (uint64_t)IPX(ip, i*64+31) << 45;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*51+25) = (uint64_t)IPW(ip, i*64+31) >> 19;\ } #define BITPACK64_51(ip, op, parm) { \ @@ -1803,22 +1803,22 @@ } #define BITBLK64_52(ip, i, op, parm) { ;\ - IPB(ip, i*16+ 0, parm); *((uint64_t *)op+i*13+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 52;\ - IPP(ip, i*16+ 1, parm); *((uint64_t *)op+i*13+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 12 | (uint64_t)IPX(ip, i*16+2) << 40;\ - IPP(ip, i*16+ 2, parm); *((uint64_t *)op+i*13+ 2) = (uint64_t)IPW(ip, i*16+ 2) >> 24 | (uint64_t)IPX(ip, i*16+3) << 28;\ - IPP(ip, i*16+ 3, parm); *((uint64_t *)op+i*13+ 3) = (uint64_t)IPW(ip, i*16+ 3) >> 36 | (uint64_t)IPX(ip, i*16+4) << 16;\ - IPP(ip, i*16+ 4, parm); *((uint64_t *)op+i*13+ 4) = (uint64_t)IPW(ip, i*16+ 4) >> 48;\ - IPB(ip, i*16+ 5, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*16+ 5) << 4 | (uint64_t)IPX(ip, i*16+6) << 56;\ - IPP(ip, i*16+ 6, parm); *((uint64_t *)op+i*13+ 5) = (uint64_t)IPW(ip, i*16+ 6) >> 8 | (uint64_t)IPX(ip, i*16+7) << 44;\ - IPP(ip, i*16+ 7, parm); *((uint64_t *)op+i*13+ 6) = (uint64_t)IPW(ip, i*16+ 7) >> 20 | (uint64_t)IPX(ip, i*16+8) << 32;\ - IPP(ip, i*16+ 8, parm); *((uint64_t *)op+i*13+ 7) = (uint64_t)IPW(ip, i*16+ 8) >> 32 | (uint64_t)IPX(ip, i*16+9) << 20;\ - IPP(ip, i*16+ 9, parm); *((uint64_t *)op+i*13+ 8) = (uint64_t)IPW(ip, i*16+ 9) >> 44;\ - IPB(ip, i*16+10, parm); *((uint64_t *)op+i*13+ 8) |= (uint64_t)IPV(ip, i*16+10) << 8 | (uint64_t)IPX(ip, i*16+11) << 60;\ - IPP(ip, i*16+11, parm); *((uint64_t *)op+i*13+ 9) = (uint64_t)IPW(ip, i*16+11) >> 4 | (uint64_t)IPX(ip, i*16+12) << 48;\ - IPP(ip, i*16+12, parm); *((uint64_t *)op+i*13+10) = (uint64_t)IPW(ip, i*16+12) >> 16 | (uint64_t)IPX(ip, i*16+13) << 36;\ - IPP(ip, i*16+13, parm); *((uint64_t *)op+i*13+11) = (uint64_t)IPW(ip, i*16+13) >> 28 | (uint64_t)IPX(ip, i*16+14) << 24;\ - IPP(ip, i*16+14, parm); *((uint64_t *)op+i*13+12) = (uint64_t)IPW(ip, i*16+14) >> 40;\ - IPB(ip, i*16+15, parm); *((uint64_t *)op+i*13+12) |= (uint64_t)IPV(ip, i*16+15) << 12;\ + IP9(ip, i*16+ 0, parm); *((uint64_t *)op+i*13+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 52;\ + IP64(ip, i*16+ 1, parm); *((uint64_t *)op+i*13+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 12 | (uint64_t)IPX(ip, i*16+2) << 40;\ + IP64(ip, i*16+ 2, parm); *((uint64_t *)op+i*13+ 2) = (uint64_t)IPW(ip, i*16+ 2) >> 24 | (uint64_t)IPX(ip, i*16+3) << 28;\ + IP64(ip, i*16+ 3, parm); *((uint64_t *)op+i*13+ 3) = (uint64_t)IPW(ip, i*16+ 3) >> 36 | (uint64_t)IPX(ip, i*16+4) << 16;\ + IP64(ip, i*16+ 4, parm); *((uint64_t *)op+i*13+ 4) = (uint64_t)IPW(ip, i*16+ 4) >> 48;\ + IP9(ip, i*16+ 5, parm); *((uint64_t *)op+i*13+ 4) |= (uint64_t)IPV(ip, i*16+ 5) << 4 | (uint64_t)IPX(ip, i*16+6) << 56;\ + IP64(ip, i*16+ 6, parm); *((uint64_t *)op+i*13+ 5) = (uint64_t)IPW(ip, i*16+ 6) >> 8 | (uint64_t)IPX(ip, i*16+7) << 44;\ + IP64(ip, i*16+ 7, parm); *((uint64_t *)op+i*13+ 6) = (uint64_t)IPW(ip, i*16+ 7) >> 20 | (uint64_t)IPX(ip, i*16+8) << 32;\ + IP64(ip, i*16+ 8, parm); *((uint64_t *)op+i*13+ 7) = (uint64_t)IPW(ip, i*16+ 8) >> 32 | (uint64_t)IPX(ip, i*16+9) << 20;\ + IP64(ip, i*16+ 9, parm); *((uint64_t *)op+i*13+ 8) = (uint64_t)IPW(ip, i*16+ 9) >> 44;\ + IP9(ip, i*16+10, parm); *((uint64_t *)op+i*13+ 8) |= (uint64_t)IPV(ip, i*16+10) << 8 | (uint64_t)IPX(ip, i*16+11) << 60;\ + IP64(ip, i*16+11, parm); *((uint64_t *)op+i*13+ 9) = (uint64_t)IPW(ip, i*16+11) >> 4 | (uint64_t)IPX(ip, i*16+12) << 48;\ + IP64(ip, i*16+12, parm); *((uint64_t *)op+i*13+10) = (uint64_t)IPW(ip, i*16+12) >> 16 | (uint64_t)IPX(ip, i*16+13) << 36;\ + IP64(ip, i*16+13, parm); *((uint64_t *)op+i*13+11) = (uint64_t)IPW(ip, i*16+13) >> 28 | (uint64_t)IPX(ip, i*16+14) << 24;\ + IP64(ip, i*16+14, parm); *((uint64_t *)op+i*13+12) = (uint64_t)IPW(ip, i*16+14) >> 40;\ + IP9(ip, i*16+15, parm); *((uint64_t *)op+i*13+12) |= (uint64_t)IPV(ip, i*16+15) << 12;\ } #define BITPACK64_52(ip, op, parm) { \ @@ -1827,38 +1827,38 @@ } #define BITBLK64_53(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*53+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 53;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*53+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 11 | (uint64_t)IPX(ip, i*64+2) << 42;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*53+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 22 | (uint64_t)IPX(ip, i*64+3) << 31;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*53+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 33 | (uint64_t)IPX(ip, i*64+4) << 20;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*53+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 44;\ - IPB(ip, i*64+ 5, parm); *((uint64_t *)op+i*53+ 4) |= (uint64_t)IPV(ip, i*64+ 5) << 9 | (uint64_t)IPX(ip, i*64+6) << 62;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*53+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 2 | (uint64_t)IPX(ip, i*64+7) << 51;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*53+ 6) = (uint64_t)IPW(ip, i*64+ 7) >> 13 | (uint64_t)IPX(ip, i*64+8) << 40;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*53+ 7) = (uint64_t)IPW(ip, i*64+ 8) >> 24 | (uint64_t)IPX(ip, i*64+9) << 29;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*53+ 8) = (uint64_t)IPW(ip, i*64+ 9) >> 35 | (uint64_t)IPX(ip, i*64+10) << 18;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*53+ 9) = (uint64_t)IPW(ip, i*64+10) >> 46;\ - IPB(ip, i*64+11, parm); *((uint64_t *)op+i*53+ 9) |= (uint64_t)IPV(ip, i*64+11) << 7 | (uint64_t)IPX(ip, i*64+12) << 60;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*53+10) = (uint64_t)IPW(ip, i*64+12) >> 4 | (uint64_t)IPX(ip, i*64+13) << 49;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*53+11) = (uint64_t)IPW(ip, i*64+13) >> 15 | (uint64_t)IPX(ip, i*64+14) << 38;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*53+12) = (uint64_t)IPW(ip, i*64+14) >> 26 | (uint64_t)IPX(ip, i*64+15) << 27;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*53+13) = (uint64_t)IPW(ip, i*64+15) >> 37 | (uint64_t)IPX(ip, i*64+16) << 16;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*53+14) = (uint64_t)IPW(ip, i*64+16) >> 48;\ - IPB(ip, i*64+17, parm); *((uint64_t *)op+i*53+14) |= (uint64_t)IPV(ip, i*64+17) << 5 | (uint64_t)IPX(ip, i*64+18) << 58;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*53+15) = (uint64_t)IPW(ip, i*64+18) >> 6 | (uint64_t)IPX(ip, i*64+19) << 47;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*53+16) = (uint64_t)IPW(ip, i*64+19) >> 17 | (uint64_t)IPX(ip, i*64+20) << 36;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*53+17) = (uint64_t)IPW(ip, i*64+20) >> 28 | (uint64_t)IPX(ip, i*64+21) << 25;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*53+18) = (uint64_t)IPW(ip, i*64+21) >> 39 | (uint64_t)IPX(ip, i*64+22) << 14;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*53+19) = (uint64_t)IPW(ip, i*64+22) >> 50;\ - IPB(ip, i*64+23, parm); *((uint64_t *)op+i*53+19) |= (uint64_t)IPV(ip, i*64+23) << 3 | (uint64_t)IPX(ip, i*64+24) << 56;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*53+20) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 45;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*53+21) = (uint64_t)IPW(ip, i*64+25) >> 19 | (uint64_t)IPX(ip, i*64+26) << 34;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*53+22) = (uint64_t)IPW(ip, i*64+26) >> 30 | (uint64_t)IPX(ip, i*64+27) << 23;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*53+23) = (uint64_t)IPW(ip, i*64+27) >> 41 | (uint64_t)IPX(ip, i*64+28) << 12;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*53+24) = (uint64_t)IPW(ip, i*64+28) >> 52;\ - IPB(ip, i*64+29, parm); *((uint64_t *)op+i*53+24) |= (uint64_t)IPV(ip, i*64+29) << 1 | (uint64_t)IPX(ip, i*64+30) << 54;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*53+25) = (uint64_t)IPW(ip, i*64+30) >> 10 | (uint64_t)IPX(ip, i*64+31) << 43;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*53+26) = (uint64_t)IPW(ip, i*64+31) >> 21;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*53+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 53;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*53+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 11 | (uint64_t)IPX(ip, i*64+2) << 42;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*53+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 22 | (uint64_t)IPX(ip, i*64+3) << 31;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*53+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 33 | (uint64_t)IPX(ip, i*64+4) << 20;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*53+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 44;\ + IP9(ip, i*64+ 5, parm); *((uint64_t *)op+i*53+ 4) |= (uint64_t)IPV(ip, i*64+ 5) << 9 | (uint64_t)IPX(ip, i*64+6) << 62;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*53+ 5) = (uint64_t)IPW(ip, i*64+ 6) >> 2 | (uint64_t)IPX(ip, i*64+7) << 51;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*53+ 6) = (uint64_t)IPW(ip, i*64+ 7) >> 13 | (uint64_t)IPX(ip, i*64+8) << 40;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*53+ 7) = (uint64_t)IPW(ip, i*64+ 8) >> 24 | (uint64_t)IPX(ip, i*64+9) << 29;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*53+ 8) = (uint64_t)IPW(ip, i*64+ 9) >> 35 | (uint64_t)IPX(ip, i*64+10) << 18;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*53+ 9) = (uint64_t)IPW(ip, i*64+10) >> 46;\ + IP9(ip, i*64+11, parm); *((uint64_t *)op+i*53+ 9) |= (uint64_t)IPV(ip, i*64+11) << 7 | (uint64_t)IPX(ip, i*64+12) << 60;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*53+10) = (uint64_t)IPW(ip, i*64+12) >> 4 | (uint64_t)IPX(ip, i*64+13) << 49;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*53+11) = (uint64_t)IPW(ip, i*64+13) >> 15 | (uint64_t)IPX(ip, i*64+14) << 38;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*53+12) = (uint64_t)IPW(ip, i*64+14) >> 26 | (uint64_t)IPX(ip, i*64+15) << 27;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*53+13) = (uint64_t)IPW(ip, i*64+15) >> 37 | (uint64_t)IPX(ip, i*64+16) << 16;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*53+14) = (uint64_t)IPW(ip, i*64+16) >> 48;\ + IP9(ip, i*64+17, parm); *((uint64_t *)op+i*53+14) |= (uint64_t)IPV(ip, i*64+17) << 5 | (uint64_t)IPX(ip, i*64+18) << 58;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*53+15) = (uint64_t)IPW(ip, i*64+18) >> 6 | (uint64_t)IPX(ip, i*64+19) << 47;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*53+16) = (uint64_t)IPW(ip, i*64+19) >> 17 | (uint64_t)IPX(ip, i*64+20) << 36;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*53+17) = (uint64_t)IPW(ip, i*64+20) >> 28 | (uint64_t)IPX(ip, i*64+21) << 25;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*53+18) = (uint64_t)IPW(ip, i*64+21) >> 39 | (uint64_t)IPX(ip, i*64+22) << 14;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*53+19) = (uint64_t)IPW(ip, i*64+22) >> 50;\ + IP9(ip, i*64+23, parm); *((uint64_t *)op+i*53+19) |= (uint64_t)IPV(ip, i*64+23) << 3 | (uint64_t)IPX(ip, i*64+24) << 56;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*53+20) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 45;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*53+21) = (uint64_t)IPW(ip, i*64+25) >> 19 | (uint64_t)IPX(ip, i*64+26) << 34;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*53+22) = (uint64_t)IPW(ip, i*64+26) >> 30 | (uint64_t)IPX(ip, i*64+27) << 23;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*53+23) = (uint64_t)IPW(ip, i*64+27) >> 41 | (uint64_t)IPX(ip, i*64+28) << 12;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*53+24) = (uint64_t)IPW(ip, i*64+28) >> 52;\ + IP9(ip, i*64+29, parm); *((uint64_t *)op+i*53+24) |= (uint64_t)IPV(ip, i*64+29) << 1 | (uint64_t)IPX(ip, i*64+30) << 54;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*53+25) = (uint64_t)IPW(ip, i*64+30) >> 10 | (uint64_t)IPX(ip, i*64+31) << 43;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*53+26) = (uint64_t)IPW(ip, i*64+31) >> 21;\ } #define BITPACK64_53(ip, op, parm) { \ @@ -1866,38 +1866,38 @@ } #define BITBLK64_54(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*27+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 54;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*27+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 10 | (uint64_t)IPX(ip, i*32+2) << 44;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*27+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 20 | (uint64_t)IPX(ip, i*32+3) << 34;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*27+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 30 | (uint64_t)IPX(ip, i*32+4) << 24;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*27+ 4) = (uint64_t)IPW(ip, i*32+ 4) >> 40 | (uint64_t)IPX(ip, i*32+5) << 14;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*27+ 5) = (uint64_t)IPW(ip, i*32+ 5) >> 50;\ - IPB(ip, i*32+ 6, parm); *((uint64_t *)op+i*27+ 5) |= (uint64_t)IPV(ip, i*32+ 6) << 4 | (uint64_t)IPX(ip, i*32+7) << 58;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*27+ 6) = (uint64_t)IPW(ip, i*32+ 7) >> 6 | (uint64_t)IPX(ip, i*32+8) << 48;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*27+ 7) = (uint64_t)IPW(ip, i*32+ 8) >> 16 | (uint64_t)IPX(ip, i*32+9) << 38;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*27+ 8) = (uint64_t)IPW(ip, i*32+ 9) >> 26 | (uint64_t)IPX(ip, i*32+10) << 28;\ - IPP(ip, i*32+10, parm); *((uint64_t *)op+i*27+ 9) = (uint64_t)IPW(ip, i*32+10) >> 36 | (uint64_t)IPX(ip, i*32+11) << 18;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*27+10) = (uint64_t)IPW(ip, i*32+11) >> 46;\ - IPB(ip, i*32+12, parm); *((uint64_t *)op+i*27+10) |= (uint64_t)IPV(ip, i*32+12) << 8 | (uint64_t)IPX(ip, i*32+13) << 62;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*27+11) = (uint64_t)IPW(ip, i*32+13) >> 2 | (uint64_t)IPX(ip, i*32+14) << 52;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*27+12) = (uint64_t)IPW(ip, i*32+14) >> 12 | (uint64_t)IPX(ip, i*32+15) << 42;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*27+13) = (uint64_t)IPW(ip, i*32+15) >> 22 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*27+14) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 22;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*27+15) = (uint64_t)IPW(ip, i*32+17) >> 42 | (uint64_t)IPX(ip, i*32+18) << 12;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*27+16) = (uint64_t)IPW(ip, i*32+18) >> 52;\ - IPB(ip, i*32+19, parm); *((uint64_t *)op+i*27+16) |= (uint64_t)IPV(ip, i*32+19) << 2 | (uint64_t)IPX(ip, i*32+20) << 56;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*27+17) = (uint64_t)IPW(ip, i*32+20) >> 8 | (uint64_t)IPX(ip, i*32+21) << 46;\ - IPP(ip, i*32+21, parm); *((uint64_t *)op+i*27+18) = (uint64_t)IPW(ip, i*32+21) >> 18 | (uint64_t)IPX(ip, i*32+22) << 36;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*27+19) = (uint64_t)IPW(ip, i*32+22) >> 28 | (uint64_t)IPX(ip, i*32+23) << 26;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*27+20) = (uint64_t)IPW(ip, i*32+23) >> 38 | (uint64_t)IPX(ip, i*32+24) << 16;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*27+21) = (uint64_t)IPW(ip, i*32+24) >> 48;\ - IPB(ip, i*32+25, parm); *((uint64_t *)op+i*27+21) |= (uint64_t)IPV(ip, i*32+25) << 6 | (uint64_t)IPX(ip, i*32+26) << 60;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*27+22) = (uint64_t)IPW(ip, i*32+26) >> 4 | (uint64_t)IPX(ip, i*32+27) << 50;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*27+23) = (uint64_t)IPW(ip, i*32+27) >> 14 | (uint64_t)IPX(ip, i*32+28) << 40;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*27+24) = (uint64_t)IPW(ip, i*32+28) >> 24 | (uint64_t)IPX(ip, i*32+29) << 30;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*27+25) = (uint64_t)IPW(ip, i*32+29) >> 34 | (uint64_t)IPX(ip, i*32+30) << 20;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*27+26) = (uint64_t)IPW(ip, i*32+30) >> 44;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*27+26) |= (uint64_t)IPV(ip, i*32+31) << 10;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*27+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 54;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*27+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 10 | (uint64_t)IPX(ip, i*32+2) << 44;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*27+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 20 | (uint64_t)IPX(ip, i*32+3) << 34;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*27+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 30 | (uint64_t)IPX(ip, i*32+4) << 24;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*27+ 4) = (uint64_t)IPW(ip, i*32+ 4) >> 40 | (uint64_t)IPX(ip, i*32+5) << 14;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*27+ 5) = (uint64_t)IPW(ip, i*32+ 5) >> 50;\ + IP9(ip, i*32+ 6, parm); *((uint64_t *)op+i*27+ 5) |= (uint64_t)IPV(ip, i*32+ 6) << 4 | (uint64_t)IPX(ip, i*32+7) << 58;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*27+ 6) = (uint64_t)IPW(ip, i*32+ 7) >> 6 | (uint64_t)IPX(ip, i*32+8) << 48;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*27+ 7) = (uint64_t)IPW(ip, i*32+ 8) >> 16 | (uint64_t)IPX(ip, i*32+9) << 38;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*27+ 8) = (uint64_t)IPW(ip, i*32+ 9) >> 26 | (uint64_t)IPX(ip, i*32+10) << 28;\ + IP64(ip, i*32+10, parm); *((uint64_t *)op+i*27+ 9) = (uint64_t)IPW(ip, i*32+10) >> 36 | (uint64_t)IPX(ip, i*32+11) << 18;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*27+10) = (uint64_t)IPW(ip, i*32+11) >> 46;\ + IP9(ip, i*32+12, parm); *((uint64_t *)op+i*27+10) |= (uint64_t)IPV(ip, i*32+12) << 8 | (uint64_t)IPX(ip, i*32+13) << 62;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*27+11) = (uint64_t)IPW(ip, i*32+13) >> 2 | (uint64_t)IPX(ip, i*32+14) << 52;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*27+12) = (uint64_t)IPW(ip, i*32+14) >> 12 | (uint64_t)IPX(ip, i*32+15) << 42;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*27+13) = (uint64_t)IPW(ip, i*32+15) >> 22 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*27+14) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 22;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*27+15) = (uint64_t)IPW(ip, i*32+17) >> 42 | (uint64_t)IPX(ip, i*32+18) << 12;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*27+16) = (uint64_t)IPW(ip, i*32+18) >> 52;\ + IP9(ip, i*32+19, parm); *((uint64_t *)op+i*27+16) |= (uint64_t)IPV(ip, i*32+19) << 2 | (uint64_t)IPX(ip, i*32+20) << 56;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*27+17) = (uint64_t)IPW(ip, i*32+20) >> 8 | (uint64_t)IPX(ip, i*32+21) << 46;\ + IP64(ip, i*32+21, parm); *((uint64_t *)op+i*27+18) = (uint64_t)IPW(ip, i*32+21) >> 18 | (uint64_t)IPX(ip, i*32+22) << 36;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*27+19) = (uint64_t)IPW(ip, i*32+22) >> 28 | (uint64_t)IPX(ip, i*32+23) << 26;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*27+20) = (uint64_t)IPW(ip, i*32+23) >> 38 | (uint64_t)IPX(ip, i*32+24) << 16;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*27+21) = (uint64_t)IPW(ip, i*32+24) >> 48;\ + IP9(ip, i*32+25, parm); *((uint64_t *)op+i*27+21) |= (uint64_t)IPV(ip, i*32+25) << 6 | (uint64_t)IPX(ip, i*32+26) << 60;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*27+22) = (uint64_t)IPW(ip, i*32+26) >> 4 | (uint64_t)IPX(ip, i*32+27) << 50;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*27+23) = (uint64_t)IPW(ip, i*32+27) >> 14 | (uint64_t)IPX(ip, i*32+28) << 40;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*27+24) = (uint64_t)IPW(ip, i*32+28) >> 24 | (uint64_t)IPX(ip, i*32+29) << 30;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*27+25) = (uint64_t)IPW(ip, i*32+29) >> 34 | (uint64_t)IPX(ip, i*32+30) << 20;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*27+26) = (uint64_t)IPW(ip, i*32+30) >> 44;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*27+26) |= (uint64_t)IPV(ip, i*32+31) << 10;\ } #define BITPACK64_54(ip, op, parm) { \ @@ -1905,38 +1905,38 @@ } #define BITBLK64_55(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*55+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 55;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*55+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 9 | (uint64_t)IPX(ip, i*64+2) << 46;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*55+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 18 | (uint64_t)IPX(ip, i*64+3) << 37;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*55+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 27 | (uint64_t)IPX(ip, i*64+4) << 28;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*55+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 36 | (uint64_t)IPX(ip, i*64+5) << 19;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*55+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 45 | (uint64_t)IPX(ip, i*64+6) << 10;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*55+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 54;\ - IPB(ip, i*64+ 7, parm); *((uint64_t *)op+i*55+ 6) |= (uint64_t)IPV(ip, i*64+ 7) << 1 | (uint64_t)IPX(ip, i*64+8) << 56;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*55+ 7) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 47;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*55+ 8) = (uint64_t)IPW(ip, i*64+ 9) >> 17 | (uint64_t)IPX(ip, i*64+10) << 38;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*55+ 9) = (uint64_t)IPW(ip, i*64+10) >> 26 | (uint64_t)IPX(ip, i*64+11) << 29;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*55+10) = (uint64_t)IPW(ip, i*64+11) >> 35 | (uint64_t)IPX(ip, i*64+12) << 20;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*55+11) = (uint64_t)IPW(ip, i*64+12) >> 44 | (uint64_t)IPX(ip, i*64+13) << 11;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*55+12) = (uint64_t)IPW(ip, i*64+13) >> 53;\ - IPB(ip, i*64+14, parm); *((uint64_t *)op+i*55+12) |= (uint64_t)IPV(ip, i*64+14) << 2 | (uint64_t)IPX(ip, i*64+15) << 57;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*55+13) = (uint64_t)IPW(ip, i*64+15) >> 7 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*55+14) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 39;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*55+15) = (uint64_t)IPW(ip, i*64+17) >> 25 | (uint64_t)IPX(ip, i*64+18) << 30;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*55+16) = (uint64_t)IPW(ip, i*64+18) >> 34 | (uint64_t)IPX(ip, i*64+19) << 21;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*55+17) = (uint64_t)IPW(ip, i*64+19) >> 43 | (uint64_t)IPX(ip, i*64+20) << 12;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*55+18) = (uint64_t)IPW(ip, i*64+20) >> 52;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*55+18) |= (uint64_t)IPV(ip, i*64+21) << 3 | (uint64_t)IPX(ip, i*64+22) << 58;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*55+19) = (uint64_t)IPW(ip, i*64+22) >> 6 | (uint64_t)IPX(ip, i*64+23) << 49;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*55+20) = (uint64_t)IPW(ip, i*64+23) >> 15 | (uint64_t)IPX(ip, i*64+24) << 40;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*55+21) = (uint64_t)IPW(ip, i*64+24) >> 24 | (uint64_t)IPX(ip, i*64+25) << 31;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*55+22) = (uint64_t)IPW(ip, i*64+25) >> 33 | (uint64_t)IPX(ip, i*64+26) << 22;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*55+23) = (uint64_t)IPW(ip, i*64+26) >> 42 | (uint64_t)IPX(ip, i*64+27) << 13;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*55+24) = (uint64_t)IPW(ip, i*64+27) >> 51;\ - IPB(ip, i*64+28, parm); *((uint64_t *)op+i*55+24) |= (uint64_t)IPV(ip, i*64+28) << 4 | (uint64_t)IPX(ip, i*64+29) << 59;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*55+25) = (uint64_t)IPW(ip, i*64+29) >> 5 | (uint64_t)IPX(ip, i*64+30) << 50;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*55+26) = (uint64_t)IPW(ip, i*64+30) >> 14 | (uint64_t)IPX(ip, i*64+31) << 41;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*55+27) = (uint64_t)IPW(ip, i*64+31) >> 23;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*55+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 55;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*55+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 9 | (uint64_t)IPX(ip, i*64+2) << 46;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*55+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 18 | (uint64_t)IPX(ip, i*64+3) << 37;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*55+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 27 | (uint64_t)IPX(ip, i*64+4) << 28;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*55+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 36 | (uint64_t)IPX(ip, i*64+5) << 19;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*55+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 45 | (uint64_t)IPX(ip, i*64+6) << 10;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*55+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 54;\ + IP9(ip, i*64+ 7, parm); *((uint64_t *)op+i*55+ 6) |= (uint64_t)IPV(ip, i*64+ 7) << 1 | (uint64_t)IPX(ip, i*64+8) << 56;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*55+ 7) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 47;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*55+ 8) = (uint64_t)IPW(ip, i*64+ 9) >> 17 | (uint64_t)IPX(ip, i*64+10) << 38;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*55+ 9) = (uint64_t)IPW(ip, i*64+10) >> 26 | (uint64_t)IPX(ip, i*64+11) << 29;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*55+10) = (uint64_t)IPW(ip, i*64+11) >> 35 | (uint64_t)IPX(ip, i*64+12) << 20;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*55+11) = (uint64_t)IPW(ip, i*64+12) >> 44 | (uint64_t)IPX(ip, i*64+13) << 11;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*55+12) = (uint64_t)IPW(ip, i*64+13) >> 53;\ + IP9(ip, i*64+14, parm); *((uint64_t *)op+i*55+12) |= (uint64_t)IPV(ip, i*64+14) << 2 | (uint64_t)IPX(ip, i*64+15) << 57;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*55+13) = (uint64_t)IPW(ip, i*64+15) >> 7 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*55+14) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 39;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*55+15) = (uint64_t)IPW(ip, i*64+17) >> 25 | (uint64_t)IPX(ip, i*64+18) << 30;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*55+16) = (uint64_t)IPW(ip, i*64+18) >> 34 | (uint64_t)IPX(ip, i*64+19) << 21;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*55+17) = (uint64_t)IPW(ip, i*64+19) >> 43 | (uint64_t)IPX(ip, i*64+20) << 12;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*55+18) = (uint64_t)IPW(ip, i*64+20) >> 52;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*55+18) |= (uint64_t)IPV(ip, i*64+21) << 3 | (uint64_t)IPX(ip, i*64+22) << 58;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*55+19) = (uint64_t)IPW(ip, i*64+22) >> 6 | (uint64_t)IPX(ip, i*64+23) << 49;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*55+20) = (uint64_t)IPW(ip, i*64+23) >> 15 | (uint64_t)IPX(ip, i*64+24) << 40;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*55+21) = (uint64_t)IPW(ip, i*64+24) >> 24 | (uint64_t)IPX(ip, i*64+25) << 31;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*55+22) = (uint64_t)IPW(ip, i*64+25) >> 33 | (uint64_t)IPX(ip, i*64+26) << 22;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*55+23) = (uint64_t)IPW(ip, i*64+26) >> 42 | (uint64_t)IPX(ip, i*64+27) << 13;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*55+24) = (uint64_t)IPW(ip, i*64+27) >> 51;\ + IP9(ip, i*64+28, parm); *((uint64_t *)op+i*55+24) |= (uint64_t)IPV(ip, i*64+28) << 4 | (uint64_t)IPX(ip, i*64+29) << 59;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*55+25) = (uint64_t)IPW(ip, i*64+29) >> 5 | (uint64_t)IPX(ip, i*64+30) << 50;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*55+26) = (uint64_t)IPW(ip, i*64+30) >> 14 | (uint64_t)IPX(ip, i*64+31) << 41;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*55+27) = (uint64_t)IPW(ip, i*64+31) >> 23;\ } #define BITPACK64_55(ip, op, parm) { \ @@ -1944,14 +1944,14 @@ } #define BITBLK64_56(ip, i, op, parm) { ;\ - IPB(ip, i*8+ 0, parm); *((uint64_t *)op+i*7+ 0) = (uint64_t)IPV(ip, i*8+ 0) | (uint64_t)IPX(ip, i*8+1) << 56;\ - IPP(ip, i*8+ 1, parm); *((uint64_t *)op+i*7+ 1) = (uint64_t)IPW(ip, i*8+ 1) >> 8 | (uint64_t)IPX(ip, i*8+2) << 48;\ - IPP(ip, i*8+ 2, parm); *((uint64_t *)op+i*7+ 2) = (uint64_t)IPW(ip, i*8+ 2) >> 16 | (uint64_t)IPX(ip, i*8+3) << 40;\ - IPP(ip, i*8+ 3, parm); *((uint64_t *)op+i*7+ 3) = (uint64_t)IPW(ip, i*8+ 3) >> 24 | (uint64_t)IPX(ip, i*8+4) << 32;\ - IPP(ip, i*8+ 4, parm); *((uint64_t *)op+i*7+ 4) = (uint64_t)IPW(ip, i*8+ 4) >> 32 | (uint64_t)IPX(ip, i*8+5) << 24;\ - IPP(ip, i*8+ 5, parm); *((uint64_t *)op+i*7+ 5) = (uint64_t)IPW(ip, i*8+ 5) >> 40 | (uint64_t)IPX(ip, i*8+6) << 16;\ - IPP(ip, i*8+ 6, parm); *((uint64_t *)op+i*7+ 6) = (uint64_t)IPW(ip, i*8+ 6) >> 48;\ - IPB(ip, i*8+ 7, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*8+ 7) << 8;\ + IP9(ip, i*8+ 0, parm); *((uint64_t *)op+i*7+ 0) = (uint64_t)IPV(ip, i*8+ 0) | (uint64_t)IPX(ip, i*8+1) << 56;\ + IP64(ip, i*8+ 1, parm); *((uint64_t *)op+i*7+ 1) = (uint64_t)IPW(ip, i*8+ 1) >> 8 | (uint64_t)IPX(ip, i*8+2) << 48;\ + IP64(ip, i*8+ 2, parm); *((uint64_t *)op+i*7+ 2) = (uint64_t)IPW(ip, i*8+ 2) >> 16 | (uint64_t)IPX(ip, i*8+3) << 40;\ + IP64(ip, i*8+ 3, parm); *((uint64_t *)op+i*7+ 3) = (uint64_t)IPW(ip, i*8+ 3) >> 24 | (uint64_t)IPX(ip, i*8+4) << 32;\ + IP64(ip, i*8+ 4, parm); *((uint64_t *)op+i*7+ 4) = (uint64_t)IPW(ip, i*8+ 4) >> 32 | (uint64_t)IPX(ip, i*8+5) << 24;\ + IP64(ip, i*8+ 5, parm); *((uint64_t *)op+i*7+ 5) = (uint64_t)IPW(ip, i*8+ 5) >> 40 | (uint64_t)IPX(ip, i*8+6) << 16;\ + IP64(ip, i*8+ 6, parm); *((uint64_t *)op+i*7+ 6) = (uint64_t)IPW(ip, i*8+ 6) >> 48;\ + IP9(ip, i*8+ 7, parm); *((uint64_t *)op+i*7+ 6) |= (uint64_t)IPV(ip, i*8+ 7) << 8;\ } #define BITPACK64_56(ip, op, parm) { \ @@ -1962,38 +1962,38 @@ } #define BITBLK64_57(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*57+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 57;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*57+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 7 | (uint64_t)IPX(ip, i*64+2) << 50;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*57+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 14 | (uint64_t)IPX(ip, i*64+3) << 43;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*57+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 21 | (uint64_t)IPX(ip, i*64+4) << 36;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*57+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 28 | (uint64_t)IPX(ip, i*64+5) << 29;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*57+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 35 | (uint64_t)IPX(ip, i*64+6) << 22;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*57+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 42 | (uint64_t)IPX(ip, i*64+7) << 15;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*57+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 49 | (uint64_t)IPX(ip, i*64+8) << 8;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*57+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 56;\ - IPB(ip, i*64+ 9, parm); *((uint64_t *)op+i*57+ 8) |= (uint64_t)IPV(ip, i*64+ 9) << 1 | (uint64_t)IPX(ip, i*64+10) << 58;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*57+ 9) = (uint64_t)IPW(ip, i*64+10) >> 6 | (uint64_t)IPX(ip, i*64+11) << 51;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*57+10) = (uint64_t)IPW(ip, i*64+11) >> 13 | (uint64_t)IPX(ip, i*64+12) << 44;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*57+11) = (uint64_t)IPW(ip, i*64+12) >> 20 | (uint64_t)IPX(ip, i*64+13) << 37;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*57+12) = (uint64_t)IPW(ip, i*64+13) >> 27 | (uint64_t)IPX(ip, i*64+14) << 30;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*57+13) = (uint64_t)IPW(ip, i*64+14) >> 34 | (uint64_t)IPX(ip, i*64+15) << 23;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*57+14) = (uint64_t)IPW(ip, i*64+15) >> 41 | (uint64_t)IPX(ip, i*64+16) << 16;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*57+15) = (uint64_t)IPW(ip, i*64+16) >> 48 | (uint64_t)IPX(ip, i*64+17) << 9;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*57+16) = (uint64_t)IPW(ip, i*64+17) >> 55;\ - IPB(ip, i*64+18, parm); *((uint64_t *)op+i*57+16) |= (uint64_t)IPV(ip, i*64+18) << 2 | (uint64_t)IPX(ip, i*64+19) << 59;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*57+17) = (uint64_t)IPW(ip, i*64+19) >> 5 | (uint64_t)IPX(ip, i*64+20) << 52;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*57+18) = (uint64_t)IPW(ip, i*64+20) >> 12 | (uint64_t)IPX(ip, i*64+21) << 45;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*57+19) = (uint64_t)IPW(ip, i*64+21) >> 19 | (uint64_t)IPX(ip, i*64+22) << 38;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*57+20) = (uint64_t)IPW(ip, i*64+22) >> 26 | (uint64_t)IPX(ip, i*64+23) << 31;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*57+21) = (uint64_t)IPW(ip, i*64+23) >> 33 | (uint64_t)IPX(ip, i*64+24) << 24;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*57+22) = (uint64_t)IPW(ip, i*64+24) >> 40 | (uint64_t)IPX(ip, i*64+25) << 17;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*57+23) = (uint64_t)IPW(ip, i*64+25) >> 47 | (uint64_t)IPX(ip, i*64+26) << 10;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*57+24) = (uint64_t)IPW(ip, i*64+26) >> 54;\ - IPB(ip, i*64+27, parm); *((uint64_t *)op+i*57+24) |= (uint64_t)IPV(ip, i*64+27) << 3 | (uint64_t)IPX(ip, i*64+28) << 60;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*57+25) = (uint64_t)IPW(ip, i*64+28) >> 4 | (uint64_t)IPX(ip, i*64+29) << 53;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*57+26) = (uint64_t)IPW(ip, i*64+29) >> 11 | (uint64_t)IPX(ip, i*64+30) << 46;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*57+27) = (uint64_t)IPW(ip, i*64+30) >> 18 | (uint64_t)IPX(ip, i*64+31) << 39;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*57+28) = (uint64_t)IPW(ip, i*64+31) >> 25;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*57+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 57;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*57+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 7 | (uint64_t)IPX(ip, i*64+2) << 50;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*57+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 14 | (uint64_t)IPX(ip, i*64+3) << 43;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*57+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 21 | (uint64_t)IPX(ip, i*64+4) << 36;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*57+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 28 | (uint64_t)IPX(ip, i*64+5) << 29;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*57+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 35 | (uint64_t)IPX(ip, i*64+6) << 22;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*57+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 42 | (uint64_t)IPX(ip, i*64+7) << 15;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*57+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 49 | (uint64_t)IPX(ip, i*64+8) << 8;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*57+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 56;\ + IP9(ip, i*64+ 9, parm); *((uint64_t *)op+i*57+ 8) |= (uint64_t)IPV(ip, i*64+ 9) << 1 | (uint64_t)IPX(ip, i*64+10) << 58;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*57+ 9) = (uint64_t)IPW(ip, i*64+10) >> 6 | (uint64_t)IPX(ip, i*64+11) << 51;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*57+10) = (uint64_t)IPW(ip, i*64+11) >> 13 | (uint64_t)IPX(ip, i*64+12) << 44;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*57+11) = (uint64_t)IPW(ip, i*64+12) >> 20 | (uint64_t)IPX(ip, i*64+13) << 37;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*57+12) = (uint64_t)IPW(ip, i*64+13) >> 27 | (uint64_t)IPX(ip, i*64+14) << 30;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*57+13) = (uint64_t)IPW(ip, i*64+14) >> 34 | (uint64_t)IPX(ip, i*64+15) << 23;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*57+14) = (uint64_t)IPW(ip, i*64+15) >> 41 | (uint64_t)IPX(ip, i*64+16) << 16;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*57+15) = (uint64_t)IPW(ip, i*64+16) >> 48 | (uint64_t)IPX(ip, i*64+17) << 9;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*57+16) = (uint64_t)IPW(ip, i*64+17) >> 55;\ + IP9(ip, i*64+18, parm); *((uint64_t *)op+i*57+16) |= (uint64_t)IPV(ip, i*64+18) << 2 | (uint64_t)IPX(ip, i*64+19) << 59;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*57+17) = (uint64_t)IPW(ip, i*64+19) >> 5 | (uint64_t)IPX(ip, i*64+20) << 52;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*57+18) = (uint64_t)IPW(ip, i*64+20) >> 12 | (uint64_t)IPX(ip, i*64+21) << 45;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*57+19) = (uint64_t)IPW(ip, i*64+21) >> 19 | (uint64_t)IPX(ip, i*64+22) << 38;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*57+20) = (uint64_t)IPW(ip, i*64+22) >> 26 | (uint64_t)IPX(ip, i*64+23) << 31;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*57+21) = (uint64_t)IPW(ip, i*64+23) >> 33 | (uint64_t)IPX(ip, i*64+24) << 24;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*57+22) = (uint64_t)IPW(ip, i*64+24) >> 40 | (uint64_t)IPX(ip, i*64+25) << 17;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*57+23) = (uint64_t)IPW(ip, i*64+25) >> 47 | (uint64_t)IPX(ip, i*64+26) << 10;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*57+24) = (uint64_t)IPW(ip, i*64+26) >> 54;\ + IP9(ip, i*64+27, parm); *((uint64_t *)op+i*57+24) |= (uint64_t)IPV(ip, i*64+27) << 3 | (uint64_t)IPX(ip, i*64+28) << 60;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*57+25) = (uint64_t)IPW(ip, i*64+28) >> 4 | (uint64_t)IPX(ip, i*64+29) << 53;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*57+26) = (uint64_t)IPW(ip, i*64+29) >> 11 | (uint64_t)IPX(ip, i*64+30) << 46;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*57+27) = (uint64_t)IPW(ip, i*64+30) >> 18 | (uint64_t)IPX(ip, i*64+31) << 39;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*57+28) = (uint64_t)IPW(ip, i*64+31) >> 25;\ } #define BITPACK64_57(ip, op, parm) { \ @@ -2001,38 +2001,38 @@ } #define BITBLK64_58(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*29+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 58;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*29+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 6 | (uint64_t)IPX(ip, i*32+2) << 52;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*29+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 12 | (uint64_t)IPX(ip, i*32+3) << 46;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*29+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 18 | (uint64_t)IPX(ip, i*32+4) << 40;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*29+ 4) = (uint64_t)IPW(ip, i*32+ 4) >> 24 | (uint64_t)IPX(ip, i*32+5) << 34;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*29+ 5) = (uint64_t)IPW(ip, i*32+ 5) >> 30 | (uint64_t)IPX(ip, i*32+6) << 28;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*29+ 6) = (uint64_t)IPW(ip, i*32+ 6) >> 36 | (uint64_t)IPX(ip, i*32+7) << 22;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*29+ 7) = (uint64_t)IPW(ip, i*32+ 7) >> 42 | (uint64_t)IPX(ip, i*32+8) << 16;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*29+ 8) = (uint64_t)IPW(ip, i*32+ 8) >> 48 | (uint64_t)IPX(ip, i*32+9) << 10;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*29+ 9) = (uint64_t)IPW(ip, i*32+ 9) >> 54;\ - IPB(ip, i*32+10, parm); *((uint64_t *)op+i*29+ 9) |= (uint64_t)IPV(ip, i*32+10) << 4 | (uint64_t)IPX(ip, i*32+11) << 62;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*29+10) = (uint64_t)IPW(ip, i*32+11) >> 2 | (uint64_t)IPX(ip, i*32+12) << 56;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*29+11) = (uint64_t)IPW(ip, i*32+12) >> 8 | (uint64_t)IPX(ip, i*32+13) << 50;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*29+12) = (uint64_t)IPW(ip, i*32+13) >> 14 | (uint64_t)IPX(ip, i*32+14) << 44;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*29+13) = (uint64_t)IPW(ip, i*32+14) >> 20 | (uint64_t)IPX(ip, i*32+15) << 38;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*29+14) = (uint64_t)IPW(ip, i*32+15) >> 26 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*29+15) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 26;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*29+16) = (uint64_t)IPW(ip, i*32+17) >> 38 | (uint64_t)IPX(ip, i*32+18) << 20;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*29+17) = (uint64_t)IPW(ip, i*32+18) >> 44 | (uint64_t)IPX(ip, i*32+19) << 14;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*29+18) = (uint64_t)IPW(ip, i*32+19) >> 50 | (uint64_t)IPX(ip, i*32+20) << 8;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*29+19) = (uint64_t)IPW(ip, i*32+20) >> 56;\ - IPB(ip, i*32+21, parm); *((uint64_t *)op+i*29+19) |= (uint64_t)IPV(ip, i*32+21) << 2 | (uint64_t)IPX(ip, i*32+22) << 60;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*29+20) = (uint64_t)IPW(ip, i*32+22) >> 4 | (uint64_t)IPX(ip, i*32+23) << 54;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*29+21) = (uint64_t)IPW(ip, i*32+23) >> 10 | (uint64_t)IPX(ip, i*32+24) << 48;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*29+22) = (uint64_t)IPW(ip, i*32+24) >> 16 | (uint64_t)IPX(ip, i*32+25) << 42;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*29+23) = (uint64_t)IPW(ip, i*32+25) >> 22 | (uint64_t)IPX(ip, i*32+26) << 36;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*29+24) = (uint64_t)IPW(ip, i*32+26) >> 28 | (uint64_t)IPX(ip, i*32+27) << 30;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*29+25) = (uint64_t)IPW(ip, i*32+27) >> 34 | (uint64_t)IPX(ip, i*32+28) << 24;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*29+26) = (uint64_t)IPW(ip, i*32+28) >> 40 | (uint64_t)IPX(ip, i*32+29) << 18;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*29+27) = (uint64_t)IPW(ip, i*32+29) >> 46 | (uint64_t)IPX(ip, i*32+30) << 12;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*29+28) = (uint64_t)IPW(ip, i*32+30) >> 52;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*29+28) |= (uint64_t)IPV(ip, i*32+31) << 6;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*29+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 58;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*29+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 6 | (uint64_t)IPX(ip, i*32+2) << 52;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*29+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 12 | (uint64_t)IPX(ip, i*32+3) << 46;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*29+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 18 | (uint64_t)IPX(ip, i*32+4) << 40;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*29+ 4) = (uint64_t)IPW(ip, i*32+ 4) >> 24 | (uint64_t)IPX(ip, i*32+5) << 34;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*29+ 5) = (uint64_t)IPW(ip, i*32+ 5) >> 30 | (uint64_t)IPX(ip, i*32+6) << 28;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*29+ 6) = (uint64_t)IPW(ip, i*32+ 6) >> 36 | (uint64_t)IPX(ip, i*32+7) << 22;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*29+ 7) = (uint64_t)IPW(ip, i*32+ 7) >> 42 | (uint64_t)IPX(ip, i*32+8) << 16;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*29+ 8) = (uint64_t)IPW(ip, i*32+ 8) >> 48 | (uint64_t)IPX(ip, i*32+9) << 10;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*29+ 9) = (uint64_t)IPW(ip, i*32+ 9) >> 54;\ + IP9(ip, i*32+10, parm); *((uint64_t *)op+i*29+ 9) |= (uint64_t)IPV(ip, i*32+10) << 4 | (uint64_t)IPX(ip, i*32+11) << 62;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*29+10) = (uint64_t)IPW(ip, i*32+11) >> 2 | (uint64_t)IPX(ip, i*32+12) << 56;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*29+11) = (uint64_t)IPW(ip, i*32+12) >> 8 | (uint64_t)IPX(ip, i*32+13) << 50;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*29+12) = (uint64_t)IPW(ip, i*32+13) >> 14 | (uint64_t)IPX(ip, i*32+14) << 44;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*29+13) = (uint64_t)IPW(ip, i*32+14) >> 20 | (uint64_t)IPX(ip, i*32+15) << 38;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*29+14) = (uint64_t)IPW(ip, i*32+15) >> 26 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*29+15) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 26;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*29+16) = (uint64_t)IPW(ip, i*32+17) >> 38 | (uint64_t)IPX(ip, i*32+18) << 20;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*29+17) = (uint64_t)IPW(ip, i*32+18) >> 44 | (uint64_t)IPX(ip, i*32+19) << 14;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*29+18) = (uint64_t)IPW(ip, i*32+19) >> 50 | (uint64_t)IPX(ip, i*32+20) << 8;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*29+19) = (uint64_t)IPW(ip, i*32+20) >> 56;\ + IP9(ip, i*32+21, parm); *((uint64_t *)op+i*29+19) |= (uint64_t)IPV(ip, i*32+21) << 2 | (uint64_t)IPX(ip, i*32+22) << 60;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*29+20) = (uint64_t)IPW(ip, i*32+22) >> 4 | (uint64_t)IPX(ip, i*32+23) << 54;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*29+21) = (uint64_t)IPW(ip, i*32+23) >> 10 | (uint64_t)IPX(ip, i*32+24) << 48;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*29+22) = (uint64_t)IPW(ip, i*32+24) >> 16 | (uint64_t)IPX(ip, i*32+25) << 42;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*29+23) = (uint64_t)IPW(ip, i*32+25) >> 22 | (uint64_t)IPX(ip, i*32+26) << 36;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*29+24) = (uint64_t)IPW(ip, i*32+26) >> 28 | (uint64_t)IPX(ip, i*32+27) << 30;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*29+25) = (uint64_t)IPW(ip, i*32+27) >> 34 | (uint64_t)IPX(ip, i*32+28) << 24;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*29+26) = (uint64_t)IPW(ip, i*32+28) >> 40 | (uint64_t)IPX(ip, i*32+29) << 18;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*29+27) = (uint64_t)IPW(ip, i*32+29) >> 46 | (uint64_t)IPX(ip, i*32+30) << 12;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*29+28) = (uint64_t)IPW(ip, i*32+30) >> 52;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*29+28) |= (uint64_t)IPV(ip, i*32+31) << 6;\ } #define BITPACK64_58(ip, op, parm) { \ @@ -2040,38 +2040,38 @@ } #define BITBLK64_59(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*59+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 59;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*59+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 5 | (uint64_t)IPX(ip, i*64+2) << 54;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*59+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 10 | (uint64_t)IPX(ip, i*64+3) << 49;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*59+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 15 | (uint64_t)IPX(ip, i*64+4) << 44;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*59+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 20 | (uint64_t)IPX(ip, i*64+5) << 39;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*59+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 25 | (uint64_t)IPX(ip, i*64+6) << 34;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*59+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 30 | (uint64_t)IPX(ip, i*64+7) << 29;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*59+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 35 | (uint64_t)IPX(ip, i*64+8) << 24;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*59+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 40 | (uint64_t)IPX(ip, i*64+9) << 19;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*59+ 9) = (uint64_t)IPW(ip, i*64+ 9) >> 45 | (uint64_t)IPX(ip, i*64+10) << 14;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*59+10) = (uint64_t)IPW(ip, i*64+10) >> 50 | (uint64_t)IPX(ip, i*64+11) << 9;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*59+11) = (uint64_t)IPW(ip, i*64+11) >> 55;\ - IPB(ip, i*64+12, parm); *((uint64_t *)op+i*59+11) |= (uint64_t)IPV(ip, i*64+12) << 4 | (uint64_t)IPX(ip, i*64+13) << 63;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*59+12) = (uint64_t)IPW(ip, i*64+13) >> 1 | (uint64_t)IPX(ip, i*64+14) << 58;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*59+13) = (uint64_t)IPW(ip, i*64+14) >> 6 | (uint64_t)IPX(ip, i*64+15) << 53;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*59+14) = (uint64_t)IPW(ip, i*64+15) >> 11 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*59+15) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 43;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*59+16) = (uint64_t)IPW(ip, i*64+17) >> 21 | (uint64_t)IPX(ip, i*64+18) << 38;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*59+17) = (uint64_t)IPW(ip, i*64+18) >> 26 | (uint64_t)IPX(ip, i*64+19) << 33;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*59+18) = (uint64_t)IPW(ip, i*64+19) >> 31 | (uint64_t)IPX(ip, i*64+20) << 28;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*59+19) = (uint64_t)IPW(ip, i*64+20) >> 36 | (uint64_t)IPX(ip, i*64+21) << 23;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*59+20) = (uint64_t)IPW(ip, i*64+21) >> 41 | (uint64_t)IPX(ip, i*64+22) << 18;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*59+21) = (uint64_t)IPW(ip, i*64+22) >> 46 | (uint64_t)IPX(ip, i*64+23) << 13;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*59+22) = (uint64_t)IPW(ip, i*64+23) >> 51 | (uint64_t)IPX(ip, i*64+24) << 8;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*59+23) = (uint64_t)IPW(ip, i*64+24) >> 56;\ - IPB(ip, i*64+25, parm); *((uint64_t *)op+i*59+23) |= (uint64_t)IPV(ip, i*64+25) << 3 | (uint64_t)IPX(ip, i*64+26) << 62;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*59+24) = (uint64_t)IPW(ip, i*64+26) >> 2 | (uint64_t)IPX(ip, i*64+27) << 57;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*59+25) = (uint64_t)IPW(ip, i*64+27) >> 7 | (uint64_t)IPX(ip, i*64+28) << 52;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*59+26) = (uint64_t)IPW(ip, i*64+28) >> 12 | (uint64_t)IPX(ip, i*64+29) << 47;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*59+27) = (uint64_t)IPW(ip, i*64+29) >> 17 | (uint64_t)IPX(ip, i*64+30) << 42;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*59+28) = (uint64_t)IPW(ip, i*64+30) >> 22 | (uint64_t)IPX(ip, i*64+31) << 37;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*59+29) = (uint64_t)IPW(ip, i*64+31) >> 27;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*59+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 59;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*59+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 5 | (uint64_t)IPX(ip, i*64+2) << 54;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*59+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 10 | (uint64_t)IPX(ip, i*64+3) << 49;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*59+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 15 | (uint64_t)IPX(ip, i*64+4) << 44;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*59+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 20 | (uint64_t)IPX(ip, i*64+5) << 39;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*59+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 25 | (uint64_t)IPX(ip, i*64+6) << 34;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*59+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 30 | (uint64_t)IPX(ip, i*64+7) << 29;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*59+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 35 | (uint64_t)IPX(ip, i*64+8) << 24;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*59+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 40 | (uint64_t)IPX(ip, i*64+9) << 19;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*59+ 9) = (uint64_t)IPW(ip, i*64+ 9) >> 45 | (uint64_t)IPX(ip, i*64+10) << 14;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*59+10) = (uint64_t)IPW(ip, i*64+10) >> 50 | (uint64_t)IPX(ip, i*64+11) << 9;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*59+11) = (uint64_t)IPW(ip, i*64+11) >> 55;\ + IP9(ip, i*64+12, parm); *((uint64_t *)op+i*59+11) |= (uint64_t)IPV(ip, i*64+12) << 4 | (uint64_t)IPX(ip, i*64+13) << 63;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*59+12) = (uint64_t)IPW(ip, i*64+13) >> 1 | (uint64_t)IPX(ip, i*64+14) << 58;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*59+13) = (uint64_t)IPW(ip, i*64+14) >> 6 | (uint64_t)IPX(ip, i*64+15) << 53;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*59+14) = (uint64_t)IPW(ip, i*64+15) >> 11 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*59+15) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 43;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*59+16) = (uint64_t)IPW(ip, i*64+17) >> 21 | (uint64_t)IPX(ip, i*64+18) << 38;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*59+17) = (uint64_t)IPW(ip, i*64+18) >> 26 | (uint64_t)IPX(ip, i*64+19) << 33;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*59+18) = (uint64_t)IPW(ip, i*64+19) >> 31 | (uint64_t)IPX(ip, i*64+20) << 28;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*59+19) = (uint64_t)IPW(ip, i*64+20) >> 36 | (uint64_t)IPX(ip, i*64+21) << 23;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*59+20) = (uint64_t)IPW(ip, i*64+21) >> 41 | (uint64_t)IPX(ip, i*64+22) << 18;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*59+21) = (uint64_t)IPW(ip, i*64+22) >> 46 | (uint64_t)IPX(ip, i*64+23) << 13;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*59+22) = (uint64_t)IPW(ip, i*64+23) >> 51 | (uint64_t)IPX(ip, i*64+24) << 8;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*59+23) = (uint64_t)IPW(ip, i*64+24) >> 56;\ + IP9(ip, i*64+25, parm); *((uint64_t *)op+i*59+23) |= (uint64_t)IPV(ip, i*64+25) << 3 | (uint64_t)IPX(ip, i*64+26) << 62;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*59+24) = (uint64_t)IPW(ip, i*64+26) >> 2 | (uint64_t)IPX(ip, i*64+27) << 57;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*59+25) = (uint64_t)IPW(ip, i*64+27) >> 7 | (uint64_t)IPX(ip, i*64+28) << 52;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*59+26) = (uint64_t)IPW(ip, i*64+28) >> 12 | (uint64_t)IPX(ip, i*64+29) << 47;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*59+27) = (uint64_t)IPW(ip, i*64+29) >> 17 | (uint64_t)IPX(ip, i*64+30) << 42;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*59+28) = (uint64_t)IPW(ip, i*64+30) >> 22 | (uint64_t)IPX(ip, i*64+31) << 37;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*59+29) = (uint64_t)IPW(ip, i*64+31) >> 27;\ } #define BITPACK64_59(ip, op, parm) { \ @@ -2079,22 +2079,22 @@ } #define BITBLK64_60(ip, i, op, parm) { ;\ - IPB(ip, i*16+ 0, parm); *((uint64_t *)op+i*15+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 60;\ - IPP(ip, i*16+ 1, parm); *((uint64_t *)op+i*15+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 4 | (uint64_t)IPX(ip, i*16+2) << 56;\ - IPP(ip, i*16+ 2, parm); *((uint64_t *)op+i*15+ 2) = (uint64_t)IPW(ip, i*16+ 2) >> 8 | (uint64_t)IPX(ip, i*16+3) << 52;\ - IPP(ip, i*16+ 3, parm); *((uint64_t *)op+i*15+ 3) = (uint64_t)IPW(ip, i*16+ 3) >> 12 | (uint64_t)IPX(ip, i*16+4) << 48;\ - IPP(ip, i*16+ 4, parm); *((uint64_t *)op+i*15+ 4) = (uint64_t)IPW(ip, i*16+ 4) >> 16 | (uint64_t)IPX(ip, i*16+5) << 44;\ - IPP(ip, i*16+ 5, parm); *((uint64_t *)op+i*15+ 5) = (uint64_t)IPW(ip, i*16+ 5) >> 20 | (uint64_t)IPX(ip, i*16+6) << 40;\ - IPP(ip, i*16+ 6, parm); *((uint64_t *)op+i*15+ 6) = (uint64_t)IPW(ip, i*16+ 6) >> 24 | (uint64_t)IPX(ip, i*16+7) << 36;\ - IPP(ip, i*16+ 7, parm); *((uint64_t *)op+i*15+ 7) = (uint64_t)IPW(ip, i*16+ 7) >> 28 | (uint64_t)IPX(ip, i*16+8) << 32;\ - IPP(ip, i*16+ 8, parm); *((uint64_t *)op+i*15+ 8) = (uint64_t)IPW(ip, i*16+ 8) >> 32 | (uint64_t)IPX(ip, i*16+9) << 28;\ - IPP(ip, i*16+ 9, parm); *((uint64_t *)op+i*15+ 9) = (uint64_t)IPW(ip, i*16+ 9) >> 36 | (uint64_t)IPX(ip, i*16+10) << 24;\ - IPP(ip, i*16+10, parm); *((uint64_t *)op+i*15+10) = (uint64_t)IPW(ip, i*16+10) >> 40 | (uint64_t)IPX(ip, i*16+11) << 20;\ - IPP(ip, i*16+11, parm); *((uint64_t *)op+i*15+11) = (uint64_t)IPW(ip, i*16+11) >> 44 | (uint64_t)IPX(ip, i*16+12) << 16;\ - IPP(ip, i*16+12, parm); *((uint64_t *)op+i*15+12) = (uint64_t)IPW(ip, i*16+12) >> 48 | (uint64_t)IPX(ip, i*16+13) << 12;\ - IPP(ip, i*16+13, parm); *((uint64_t *)op+i*15+13) = (uint64_t)IPW(ip, i*16+13) >> 52 | (uint64_t)IPX(ip, i*16+14) << 8;\ - IPP(ip, i*16+14, parm); *((uint64_t *)op+i*15+14) = (uint64_t)IPW(ip, i*16+14) >> 56;\ - IPB(ip, i*16+15, parm); *((uint64_t *)op+i*15+14) |= (uint64_t)IPV(ip, i*16+15) << 4;\ + IP9(ip, i*16+ 0, parm); *((uint64_t *)op+i*15+ 0) = (uint64_t)IPV(ip, i*16+ 0) | (uint64_t)IPX(ip, i*16+1) << 60;\ + IP64(ip, i*16+ 1, parm); *((uint64_t *)op+i*15+ 1) = (uint64_t)IPW(ip, i*16+ 1) >> 4 | (uint64_t)IPX(ip, i*16+2) << 56;\ + IP64(ip, i*16+ 2, parm); *((uint64_t *)op+i*15+ 2) = (uint64_t)IPW(ip, i*16+ 2) >> 8 | (uint64_t)IPX(ip, i*16+3) << 52;\ + IP64(ip, i*16+ 3, parm); *((uint64_t *)op+i*15+ 3) = (uint64_t)IPW(ip, i*16+ 3) >> 12 | (uint64_t)IPX(ip, i*16+4) << 48;\ + IP64(ip, i*16+ 4, parm); *((uint64_t *)op+i*15+ 4) = (uint64_t)IPW(ip, i*16+ 4) >> 16 | (uint64_t)IPX(ip, i*16+5) << 44;\ + IP64(ip, i*16+ 5, parm); *((uint64_t *)op+i*15+ 5) = (uint64_t)IPW(ip, i*16+ 5) >> 20 | (uint64_t)IPX(ip, i*16+6) << 40;\ + IP64(ip, i*16+ 6, parm); *((uint64_t *)op+i*15+ 6) = (uint64_t)IPW(ip, i*16+ 6) >> 24 | (uint64_t)IPX(ip, i*16+7) << 36;\ + IP64(ip, i*16+ 7, parm); *((uint64_t *)op+i*15+ 7) = (uint64_t)IPW(ip, i*16+ 7) >> 28 | (uint64_t)IPX(ip, i*16+8) << 32;\ + IP64(ip, i*16+ 8, parm); *((uint64_t *)op+i*15+ 8) = (uint64_t)IPW(ip, i*16+ 8) >> 32 | (uint64_t)IPX(ip, i*16+9) << 28;\ + IP64(ip, i*16+ 9, parm); *((uint64_t *)op+i*15+ 9) = (uint64_t)IPW(ip, i*16+ 9) >> 36 | (uint64_t)IPX(ip, i*16+10) << 24;\ + IP64(ip, i*16+10, parm); *((uint64_t *)op+i*15+10) = (uint64_t)IPW(ip, i*16+10) >> 40 | (uint64_t)IPX(ip, i*16+11) << 20;\ + IP64(ip, i*16+11, parm); *((uint64_t *)op+i*15+11) = (uint64_t)IPW(ip, i*16+11) >> 44 | (uint64_t)IPX(ip, i*16+12) << 16;\ + IP64(ip, i*16+12, parm); *((uint64_t *)op+i*15+12) = (uint64_t)IPW(ip, i*16+12) >> 48 | (uint64_t)IPX(ip, i*16+13) << 12;\ + IP64(ip, i*16+13, parm); *((uint64_t *)op+i*15+13) = (uint64_t)IPW(ip, i*16+13) >> 52 | (uint64_t)IPX(ip, i*16+14) << 8;\ + IP64(ip, i*16+14, parm); *((uint64_t *)op+i*15+14) = (uint64_t)IPW(ip, i*16+14) >> 56;\ + IP9(ip, i*16+15, parm); *((uint64_t *)op+i*15+14) |= (uint64_t)IPV(ip, i*16+15) << 4;\ } #define BITPACK64_60(ip, op, parm) { \ @@ -2103,38 +2103,38 @@ } #define BITBLK64_61(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*61+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 61;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*61+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 3 | (uint64_t)IPX(ip, i*64+2) << 58;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*61+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 6 | (uint64_t)IPX(ip, i*64+3) << 55;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*61+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 9 | (uint64_t)IPX(ip, i*64+4) << 52;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*61+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 12 | (uint64_t)IPX(ip, i*64+5) << 49;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*61+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 15 | (uint64_t)IPX(ip, i*64+6) << 46;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*61+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 18 | (uint64_t)IPX(ip, i*64+7) << 43;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*61+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 21 | (uint64_t)IPX(ip, i*64+8) << 40;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*61+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 24 | (uint64_t)IPX(ip, i*64+9) << 37;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*61+ 9) = (uint64_t)IPW(ip, i*64+ 9) >> 27 | (uint64_t)IPX(ip, i*64+10) << 34;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*61+10) = (uint64_t)IPW(ip, i*64+10) >> 30 | (uint64_t)IPX(ip, i*64+11) << 31;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*61+11) = (uint64_t)IPW(ip, i*64+11) >> 33 | (uint64_t)IPX(ip, i*64+12) << 28;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*61+12) = (uint64_t)IPW(ip, i*64+12) >> 36 | (uint64_t)IPX(ip, i*64+13) << 25;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*61+13) = (uint64_t)IPW(ip, i*64+13) >> 39 | (uint64_t)IPX(ip, i*64+14) << 22;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*61+14) = (uint64_t)IPW(ip, i*64+14) >> 42 | (uint64_t)IPX(ip, i*64+15) << 19;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*61+15) = (uint64_t)IPW(ip, i*64+15) >> 45 | (uint64_t)IPX(ip, i*64+16) << 16;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*61+16) = (uint64_t)IPW(ip, i*64+16) >> 48 | (uint64_t)IPX(ip, i*64+17) << 13;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*61+17) = (uint64_t)IPW(ip, i*64+17) >> 51 | (uint64_t)IPX(ip, i*64+18) << 10;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*61+18) = (uint64_t)IPW(ip, i*64+18) >> 54 | (uint64_t)IPX(ip, i*64+19) << 7;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*61+19) = (uint64_t)IPW(ip, i*64+19) >> 57 | (uint64_t)IPX(ip, i*64+20) << 4;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*61+20) = (uint64_t)IPW(ip, i*64+20) >> 60;\ - IPB(ip, i*64+21, parm); *((uint64_t *)op+i*61+20) |= (uint64_t)IPV(ip, i*64+21) << 1 | (uint64_t)IPX(ip, i*64+22) << 62;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*61+21) = (uint64_t)IPW(ip, i*64+22) >> 2 | (uint64_t)IPX(ip, i*64+23) << 59;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*61+22) = (uint64_t)IPW(ip, i*64+23) >> 5 | (uint64_t)IPX(ip, i*64+24) << 56;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*61+23) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 53;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*61+24) = (uint64_t)IPW(ip, i*64+25) >> 11 | (uint64_t)IPX(ip, i*64+26) << 50;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*61+25) = (uint64_t)IPW(ip, i*64+26) >> 14 | (uint64_t)IPX(ip, i*64+27) << 47;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*61+26) = (uint64_t)IPW(ip, i*64+27) >> 17 | (uint64_t)IPX(ip, i*64+28) << 44;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*61+27) = (uint64_t)IPW(ip, i*64+28) >> 20 | (uint64_t)IPX(ip, i*64+29) << 41;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*61+28) = (uint64_t)IPW(ip, i*64+29) >> 23 | (uint64_t)IPX(ip, i*64+30) << 38;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*61+29) = (uint64_t)IPW(ip, i*64+30) >> 26 | (uint64_t)IPX(ip, i*64+31) << 35;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*61+30) = (uint64_t)IPW(ip, i*64+31) >> 29;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*61+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 61;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*61+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 3 | (uint64_t)IPX(ip, i*64+2) << 58;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*61+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 6 | (uint64_t)IPX(ip, i*64+3) << 55;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*61+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 9 | (uint64_t)IPX(ip, i*64+4) << 52;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*61+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 12 | (uint64_t)IPX(ip, i*64+5) << 49;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*61+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 15 | (uint64_t)IPX(ip, i*64+6) << 46;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*61+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 18 | (uint64_t)IPX(ip, i*64+7) << 43;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*61+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 21 | (uint64_t)IPX(ip, i*64+8) << 40;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*61+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 24 | (uint64_t)IPX(ip, i*64+9) << 37;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*61+ 9) = (uint64_t)IPW(ip, i*64+ 9) >> 27 | (uint64_t)IPX(ip, i*64+10) << 34;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*61+10) = (uint64_t)IPW(ip, i*64+10) >> 30 | (uint64_t)IPX(ip, i*64+11) << 31;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*61+11) = (uint64_t)IPW(ip, i*64+11) >> 33 | (uint64_t)IPX(ip, i*64+12) << 28;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*61+12) = (uint64_t)IPW(ip, i*64+12) >> 36 | (uint64_t)IPX(ip, i*64+13) << 25;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*61+13) = (uint64_t)IPW(ip, i*64+13) >> 39 | (uint64_t)IPX(ip, i*64+14) << 22;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*61+14) = (uint64_t)IPW(ip, i*64+14) >> 42 | (uint64_t)IPX(ip, i*64+15) << 19;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*61+15) = (uint64_t)IPW(ip, i*64+15) >> 45 | (uint64_t)IPX(ip, i*64+16) << 16;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*61+16) = (uint64_t)IPW(ip, i*64+16) >> 48 | (uint64_t)IPX(ip, i*64+17) << 13;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*61+17) = (uint64_t)IPW(ip, i*64+17) >> 51 | (uint64_t)IPX(ip, i*64+18) << 10;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*61+18) = (uint64_t)IPW(ip, i*64+18) >> 54 | (uint64_t)IPX(ip, i*64+19) << 7;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*61+19) = (uint64_t)IPW(ip, i*64+19) >> 57 | (uint64_t)IPX(ip, i*64+20) << 4;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*61+20) = (uint64_t)IPW(ip, i*64+20) >> 60;\ + IP9(ip, i*64+21, parm); *((uint64_t *)op+i*61+20) |= (uint64_t)IPV(ip, i*64+21) << 1 | (uint64_t)IPX(ip, i*64+22) << 62;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*61+21) = (uint64_t)IPW(ip, i*64+22) >> 2 | (uint64_t)IPX(ip, i*64+23) << 59;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*61+22) = (uint64_t)IPW(ip, i*64+23) >> 5 | (uint64_t)IPX(ip, i*64+24) << 56;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*61+23) = (uint64_t)IPW(ip, i*64+24) >> 8 | (uint64_t)IPX(ip, i*64+25) << 53;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*61+24) = (uint64_t)IPW(ip, i*64+25) >> 11 | (uint64_t)IPX(ip, i*64+26) << 50;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*61+25) = (uint64_t)IPW(ip, i*64+26) >> 14 | (uint64_t)IPX(ip, i*64+27) << 47;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*61+26) = (uint64_t)IPW(ip, i*64+27) >> 17 | (uint64_t)IPX(ip, i*64+28) << 44;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*61+27) = (uint64_t)IPW(ip, i*64+28) >> 20 | (uint64_t)IPX(ip, i*64+29) << 41;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*61+28) = (uint64_t)IPW(ip, i*64+29) >> 23 | (uint64_t)IPX(ip, i*64+30) << 38;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*61+29) = (uint64_t)IPW(ip, i*64+30) >> 26 | (uint64_t)IPX(ip, i*64+31) << 35;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*61+30) = (uint64_t)IPW(ip, i*64+31) >> 29;\ } #define BITPACK64_61(ip, op, parm) { \ @@ -2142,38 +2142,38 @@ } #define BITBLK64_62(ip, i, op, parm) { ;\ - IPB(ip, i*32+ 0, parm); *((uint64_t *)op+i*31+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 62;\ - IPP(ip, i*32+ 1, parm); *((uint64_t *)op+i*31+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 2 | (uint64_t)IPX(ip, i*32+2) << 60;\ - IPP(ip, i*32+ 2, parm); *((uint64_t *)op+i*31+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 4 | (uint64_t)IPX(ip, i*32+3) << 58;\ - IPP(ip, i*32+ 3, parm); *((uint64_t *)op+i*31+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 6 | (uint64_t)IPX(ip, i*32+4) << 56;\ - IPP(ip, i*32+ 4, parm); *((uint64_t *)op+i*31+ 4) = (uint64_t)IPW(ip, i*32+ 4) >> 8 | (uint64_t)IPX(ip, i*32+5) << 54;\ - IPP(ip, i*32+ 5, parm); *((uint64_t *)op+i*31+ 5) = (uint64_t)IPW(ip, i*32+ 5) >> 10 | (uint64_t)IPX(ip, i*32+6) << 52;\ - IPP(ip, i*32+ 6, parm); *((uint64_t *)op+i*31+ 6) = (uint64_t)IPW(ip, i*32+ 6) >> 12 | (uint64_t)IPX(ip, i*32+7) << 50;\ - IPP(ip, i*32+ 7, parm); *((uint64_t *)op+i*31+ 7) = (uint64_t)IPW(ip, i*32+ 7) >> 14 | (uint64_t)IPX(ip, i*32+8) << 48;\ - IPP(ip, i*32+ 8, parm); *((uint64_t *)op+i*31+ 8) = (uint64_t)IPW(ip, i*32+ 8) >> 16 | (uint64_t)IPX(ip, i*32+9) << 46;\ - IPP(ip, i*32+ 9, parm); *((uint64_t *)op+i*31+ 9) = (uint64_t)IPW(ip, i*32+ 9) >> 18 | (uint64_t)IPX(ip, i*32+10) << 44;\ - IPP(ip, i*32+10, parm); *((uint64_t *)op+i*31+10) = (uint64_t)IPW(ip, i*32+10) >> 20 | (uint64_t)IPX(ip, i*32+11) << 42;\ - IPP(ip, i*32+11, parm); *((uint64_t *)op+i*31+11) = (uint64_t)IPW(ip, i*32+11) >> 22 | (uint64_t)IPX(ip, i*32+12) << 40;\ - IPP(ip, i*32+12, parm); *((uint64_t *)op+i*31+12) = (uint64_t)IPW(ip, i*32+12) >> 24 | (uint64_t)IPX(ip, i*32+13) << 38;\ - IPP(ip, i*32+13, parm); *((uint64_t *)op+i*31+13) = (uint64_t)IPW(ip, i*32+13) >> 26 | (uint64_t)IPX(ip, i*32+14) << 36;\ - IPP(ip, i*32+14, parm); *((uint64_t *)op+i*31+14) = (uint64_t)IPW(ip, i*32+14) >> 28 | (uint64_t)IPX(ip, i*32+15) << 34;\ - IPP(ip, i*32+15, parm); *((uint64_t *)op+i*31+15) = (uint64_t)IPW(ip, i*32+15) >> 30 | (uint64_t)IPX(ip, i*32+16) << 32;\ - IPP(ip, i*32+16, parm); *((uint64_t *)op+i*31+16) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 30;\ - IPP(ip, i*32+17, parm); *((uint64_t *)op+i*31+17) = (uint64_t)IPW(ip, i*32+17) >> 34 | (uint64_t)IPX(ip, i*32+18) << 28;\ - IPP(ip, i*32+18, parm); *((uint64_t *)op+i*31+18) = (uint64_t)IPW(ip, i*32+18) >> 36 | (uint64_t)IPX(ip, i*32+19) << 26;\ - IPP(ip, i*32+19, parm); *((uint64_t *)op+i*31+19) = (uint64_t)IPW(ip, i*32+19) >> 38 | (uint64_t)IPX(ip, i*32+20) << 24;\ - IPP(ip, i*32+20, parm); *((uint64_t *)op+i*31+20) = (uint64_t)IPW(ip, i*32+20) >> 40 | (uint64_t)IPX(ip, i*32+21) << 22;\ - IPP(ip, i*32+21, parm); *((uint64_t *)op+i*31+21) = (uint64_t)IPW(ip, i*32+21) >> 42 | (uint64_t)IPX(ip, i*32+22) << 20;\ - IPP(ip, i*32+22, parm); *((uint64_t *)op+i*31+22) = (uint64_t)IPW(ip, i*32+22) >> 44 | (uint64_t)IPX(ip, i*32+23) << 18;\ - IPP(ip, i*32+23, parm); *((uint64_t *)op+i*31+23) = (uint64_t)IPW(ip, i*32+23) >> 46 | (uint64_t)IPX(ip, i*32+24) << 16;\ - IPP(ip, i*32+24, parm); *((uint64_t *)op+i*31+24) = (uint64_t)IPW(ip, i*32+24) >> 48 | (uint64_t)IPX(ip, i*32+25) << 14;\ - IPP(ip, i*32+25, parm); *((uint64_t *)op+i*31+25) = (uint64_t)IPW(ip, i*32+25) >> 50 | (uint64_t)IPX(ip, i*32+26) << 12;\ - IPP(ip, i*32+26, parm); *((uint64_t *)op+i*31+26) = (uint64_t)IPW(ip, i*32+26) >> 52 | (uint64_t)IPX(ip, i*32+27) << 10;\ - IPP(ip, i*32+27, parm); *((uint64_t *)op+i*31+27) = (uint64_t)IPW(ip, i*32+27) >> 54 | (uint64_t)IPX(ip, i*32+28) << 8;\ - IPP(ip, i*32+28, parm); *((uint64_t *)op+i*31+28) = (uint64_t)IPW(ip, i*32+28) >> 56 | (uint64_t)IPX(ip, i*32+29) << 6;\ - IPP(ip, i*32+29, parm); *((uint64_t *)op+i*31+29) = (uint64_t)IPW(ip, i*32+29) >> 58 | (uint64_t)IPX(ip, i*32+30) << 4;\ - IPP(ip, i*32+30, parm); *((uint64_t *)op+i*31+30) = (uint64_t)IPW(ip, i*32+30) >> 60;\ - IPB(ip, i*32+31, parm); *((uint64_t *)op+i*31+30) |= (uint64_t)IPV(ip, i*32+31) << 2;\ + IP9(ip, i*32+ 0, parm); *((uint64_t *)op+i*31+ 0) = (uint64_t)IPV(ip, i*32+ 0) | (uint64_t)IPX(ip, i*32+1) << 62;\ + IP64(ip, i*32+ 1, parm); *((uint64_t *)op+i*31+ 1) = (uint64_t)IPW(ip, i*32+ 1) >> 2 | (uint64_t)IPX(ip, i*32+2) << 60;\ + IP64(ip, i*32+ 2, parm); *((uint64_t *)op+i*31+ 2) = (uint64_t)IPW(ip, i*32+ 2) >> 4 | (uint64_t)IPX(ip, i*32+3) << 58;\ + IP64(ip, i*32+ 3, parm); *((uint64_t *)op+i*31+ 3) = (uint64_t)IPW(ip, i*32+ 3) >> 6 | (uint64_t)IPX(ip, i*32+4) << 56;\ + IP64(ip, i*32+ 4, parm); *((uint64_t *)op+i*31+ 4) = (uint64_t)IPW(ip, i*32+ 4) >> 8 | (uint64_t)IPX(ip, i*32+5) << 54;\ + IP64(ip, i*32+ 5, parm); *((uint64_t *)op+i*31+ 5) = (uint64_t)IPW(ip, i*32+ 5) >> 10 | (uint64_t)IPX(ip, i*32+6) << 52;\ + IP64(ip, i*32+ 6, parm); *((uint64_t *)op+i*31+ 6) = (uint64_t)IPW(ip, i*32+ 6) >> 12 | (uint64_t)IPX(ip, i*32+7) << 50;\ + IP64(ip, i*32+ 7, parm); *((uint64_t *)op+i*31+ 7) = (uint64_t)IPW(ip, i*32+ 7) >> 14 | (uint64_t)IPX(ip, i*32+8) << 48;\ + IP64(ip, i*32+ 8, parm); *((uint64_t *)op+i*31+ 8) = (uint64_t)IPW(ip, i*32+ 8) >> 16 | (uint64_t)IPX(ip, i*32+9) << 46;\ + IP64(ip, i*32+ 9, parm); *((uint64_t *)op+i*31+ 9) = (uint64_t)IPW(ip, i*32+ 9) >> 18 | (uint64_t)IPX(ip, i*32+10) << 44;\ + IP64(ip, i*32+10, parm); *((uint64_t *)op+i*31+10) = (uint64_t)IPW(ip, i*32+10) >> 20 | (uint64_t)IPX(ip, i*32+11) << 42;\ + IP64(ip, i*32+11, parm); *((uint64_t *)op+i*31+11) = (uint64_t)IPW(ip, i*32+11) >> 22 | (uint64_t)IPX(ip, i*32+12) << 40;\ + IP64(ip, i*32+12, parm); *((uint64_t *)op+i*31+12) = (uint64_t)IPW(ip, i*32+12) >> 24 | (uint64_t)IPX(ip, i*32+13) << 38;\ + IP64(ip, i*32+13, parm); *((uint64_t *)op+i*31+13) = (uint64_t)IPW(ip, i*32+13) >> 26 | (uint64_t)IPX(ip, i*32+14) << 36;\ + IP64(ip, i*32+14, parm); *((uint64_t *)op+i*31+14) = (uint64_t)IPW(ip, i*32+14) >> 28 | (uint64_t)IPX(ip, i*32+15) << 34;\ + IP64(ip, i*32+15, parm); *((uint64_t *)op+i*31+15) = (uint64_t)IPW(ip, i*32+15) >> 30 | (uint64_t)IPX(ip, i*32+16) << 32;\ + IP64(ip, i*32+16, parm); *((uint64_t *)op+i*31+16) = (uint64_t)IPW(ip, i*32+16) >> 32 | (uint64_t)IPX(ip, i*32+17) << 30;\ + IP64(ip, i*32+17, parm); *((uint64_t *)op+i*31+17) = (uint64_t)IPW(ip, i*32+17) >> 34 | (uint64_t)IPX(ip, i*32+18) << 28;\ + IP64(ip, i*32+18, parm); *((uint64_t *)op+i*31+18) = (uint64_t)IPW(ip, i*32+18) >> 36 | (uint64_t)IPX(ip, i*32+19) << 26;\ + IP64(ip, i*32+19, parm); *((uint64_t *)op+i*31+19) = (uint64_t)IPW(ip, i*32+19) >> 38 | (uint64_t)IPX(ip, i*32+20) << 24;\ + IP64(ip, i*32+20, parm); *((uint64_t *)op+i*31+20) = (uint64_t)IPW(ip, i*32+20) >> 40 | (uint64_t)IPX(ip, i*32+21) << 22;\ + IP64(ip, i*32+21, parm); *((uint64_t *)op+i*31+21) = (uint64_t)IPW(ip, i*32+21) >> 42 | (uint64_t)IPX(ip, i*32+22) << 20;\ + IP64(ip, i*32+22, parm); *((uint64_t *)op+i*31+22) = (uint64_t)IPW(ip, i*32+22) >> 44 | (uint64_t)IPX(ip, i*32+23) << 18;\ + IP64(ip, i*32+23, parm); *((uint64_t *)op+i*31+23) = (uint64_t)IPW(ip, i*32+23) >> 46 | (uint64_t)IPX(ip, i*32+24) << 16;\ + IP64(ip, i*32+24, parm); *((uint64_t *)op+i*31+24) = (uint64_t)IPW(ip, i*32+24) >> 48 | (uint64_t)IPX(ip, i*32+25) << 14;\ + IP64(ip, i*32+25, parm); *((uint64_t *)op+i*31+25) = (uint64_t)IPW(ip, i*32+25) >> 50 | (uint64_t)IPX(ip, i*32+26) << 12;\ + IP64(ip, i*32+26, parm); *((uint64_t *)op+i*31+26) = (uint64_t)IPW(ip, i*32+26) >> 52 | (uint64_t)IPX(ip, i*32+27) << 10;\ + IP64(ip, i*32+27, parm); *((uint64_t *)op+i*31+27) = (uint64_t)IPW(ip, i*32+27) >> 54 | (uint64_t)IPX(ip, i*32+28) << 8;\ + IP64(ip, i*32+28, parm); *((uint64_t *)op+i*31+28) = (uint64_t)IPW(ip, i*32+28) >> 56 | (uint64_t)IPX(ip, i*32+29) << 6;\ + IP64(ip, i*32+29, parm); *((uint64_t *)op+i*31+29) = (uint64_t)IPW(ip, i*32+29) >> 58 | (uint64_t)IPX(ip, i*32+30) << 4;\ + IP64(ip, i*32+30, parm); *((uint64_t *)op+i*31+30) = (uint64_t)IPW(ip, i*32+30) >> 60;\ + IP9(ip, i*32+31, parm); *((uint64_t *)op+i*31+30) |= (uint64_t)IPV(ip, i*32+31) << 2;\ } #define BITPACK64_62(ip, op, parm) { \ @@ -2181,38 +2181,38 @@ } #define BITBLK64_63(ip, i, op, parm) { ;\ - IPB(ip, i*64+ 0, parm); *((uint64_t *)op+i*63+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 63;\ - IPP(ip, i*64+ 1, parm); *((uint64_t *)op+i*63+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 1 | (uint64_t)IPX(ip, i*64+2) << 62;\ - IPP(ip, i*64+ 2, parm); *((uint64_t *)op+i*63+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 2 | (uint64_t)IPX(ip, i*64+3) << 61;\ - IPP(ip, i*64+ 3, parm); *((uint64_t *)op+i*63+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 3 | (uint64_t)IPX(ip, i*64+4) << 60;\ - IPP(ip, i*64+ 4, parm); *((uint64_t *)op+i*63+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 4 | (uint64_t)IPX(ip, i*64+5) << 59;\ - IPP(ip, i*64+ 5, parm); *((uint64_t *)op+i*63+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 5 | (uint64_t)IPX(ip, i*64+6) << 58;\ - IPP(ip, i*64+ 6, parm); *((uint64_t *)op+i*63+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 6 | (uint64_t)IPX(ip, i*64+7) << 57;\ - IPP(ip, i*64+ 7, parm); *((uint64_t *)op+i*63+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 7 | (uint64_t)IPX(ip, i*64+8) << 56;\ - IPP(ip, i*64+ 8, parm); *((uint64_t *)op+i*63+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 55;\ - IPP(ip, i*64+ 9, parm); *((uint64_t *)op+i*63+ 9) = (uint64_t)IPW(ip, i*64+ 9) >> 9 | (uint64_t)IPX(ip, i*64+10) << 54;\ - IPP(ip, i*64+10, parm); *((uint64_t *)op+i*63+10) = (uint64_t)IPW(ip, i*64+10) >> 10 | (uint64_t)IPX(ip, i*64+11) << 53;\ - IPP(ip, i*64+11, parm); *((uint64_t *)op+i*63+11) = (uint64_t)IPW(ip, i*64+11) >> 11 | (uint64_t)IPX(ip, i*64+12) << 52;\ - IPP(ip, i*64+12, parm); *((uint64_t *)op+i*63+12) = (uint64_t)IPW(ip, i*64+12) >> 12 | (uint64_t)IPX(ip, i*64+13) << 51;\ - IPP(ip, i*64+13, parm); *((uint64_t *)op+i*63+13) = (uint64_t)IPW(ip, i*64+13) >> 13 | (uint64_t)IPX(ip, i*64+14) << 50;\ - IPP(ip, i*64+14, parm); *((uint64_t *)op+i*63+14) = (uint64_t)IPW(ip, i*64+14) >> 14 | (uint64_t)IPX(ip, i*64+15) << 49;\ - IPP(ip, i*64+15, parm); *((uint64_t *)op+i*63+15) = (uint64_t)IPW(ip, i*64+15) >> 15 | (uint64_t)IPX(ip, i*64+16) << 48;\ - IPP(ip, i*64+16, parm); *((uint64_t *)op+i*63+16) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 47;\ - IPP(ip, i*64+17, parm); *((uint64_t *)op+i*63+17) = (uint64_t)IPW(ip, i*64+17) >> 17 | (uint64_t)IPX(ip, i*64+18) << 46;\ - IPP(ip, i*64+18, parm); *((uint64_t *)op+i*63+18) = (uint64_t)IPW(ip, i*64+18) >> 18 | (uint64_t)IPX(ip, i*64+19) << 45;\ - IPP(ip, i*64+19, parm); *((uint64_t *)op+i*63+19) = (uint64_t)IPW(ip, i*64+19) >> 19 | (uint64_t)IPX(ip, i*64+20) << 44;\ - IPP(ip, i*64+20, parm); *((uint64_t *)op+i*63+20) = (uint64_t)IPW(ip, i*64+20) >> 20 | (uint64_t)IPX(ip, i*64+21) << 43;\ - IPP(ip, i*64+21, parm); *((uint64_t *)op+i*63+21) = (uint64_t)IPW(ip, i*64+21) >> 21 | (uint64_t)IPX(ip, i*64+22) << 42;\ - IPP(ip, i*64+22, parm); *((uint64_t *)op+i*63+22) = (uint64_t)IPW(ip, i*64+22) >> 22 | (uint64_t)IPX(ip, i*64+23) << 41;\ - IPP(ip, i*64+23, parm); *((uint64_t *)op+i*63+23) = (uint64_t)IPW(ip, i*64+23) >> 23 | (uint64_t)IPX(ip, i*64+24) << 40;\ - IPP(ip, i*64+24, parm); *((uint64_t *)op+i*63+24) = (uint64_t)IPW(ip, i*64+24) >> 24 | (uint64_t)IPX(ip, i*64+25) << 39;\ - IPP(ip, i*64+25, parm); *((uint64_t *)op+i*63+25) = (uint64_t)IPW(ip, i*64+25) >> 25 | (uint64_t)IPX(ip, i*64+26) << 38;\ - IPP(ip, i*64+26, parm); *((uint64_t *)op+i*63+26) = (uint64_t)IPW(ip, i*64+26) >> 26 | (uint64_t)IPX(ip, i*64+27) << 37;\ - IPP(ip, i*64+27, parm); *((uint64_t *)op+i*63+27) = (uint64_t)IPW(ip, i*64+27) >> 27 | (uint64_t)IPX(ip, i*64+28) << 36;\ - IPP(ip, i*64+28, parm); *((uint64_t *)op+i*63+28) = (uint64_t)IPW(ip, i*64+28) >> 28 | (uint64_t)IPX(ip, i*64+29) << 35;\ - IPP(ip, i*64+29, parm); *((uint64_t *)op+i*63+29) = (uint64_t)IPW(ip, i*64+29) >> 29 | (uint64_t)IPX(ip, i*64+30) << 34;\ - IPP(ip, i*64+30, parm); *((uint64_t *)op+i*63+30) = (uint64_t)IPW(ip, i*64+30) >> 30 | (uint64_t)IPX(ip, i*64+31) << 33;\ - IPP(ip, i*64+31, parm); *((uint64_t *)op+i*63+31) = (uint64_t)IPW(ip, i*64+31) >> 31;\ + IP9(ip, i*64+ 0, parm); *((uint64_t *)op+i*63+ 0) = (uint64_t)IPV(ip, i*64+ 0) | (uint64_t)IPX(ip, i*64+1) << 63;\ + IP64(ip, i*64+ 1, parm); *((uint64_t *)op+i*63+ 1) = (uint64_t)IPW(ip, i*64+ 1) >> 1 | (uint64_t)IPX(ip, i*64+2) << 62;\ + IP64(ip, i*64+ 2, parm); *((uint64_t *)op+i*63+ 2) = (uint64_t)IPW(ip, i*64+ 2) >> 2 | (uint64_t)IPX(ip, i*64+3) << 61;\ + IP64(ip, i*64+ 3, parm); *((uint64_t *)op+i*63+ 3) = (uint64_t)IPW(ip, i*64+ 3) >> 3 | (uint64_t)IPX(ip, i*64+4) << 60;\ + IP64(ip, i*64+ 4, parm); *((uint64_t *)op+i*63+ 4) = (uint64_t)IPW(ip, i*64+ 4) >> 4 | (uint64_t)IPX(ip, i*64+5) << 59;\ + IP64(ip, i*64+ 5, parm); *((uint64_t *)op+i*63+ 5) = (uint64_t)IPW(ip, i*64+ 5) >> 5 | (uint64_t)IPX(ip, i*64+6) << 58;\ + IP64(ip, i*64+ 6, parm); *((uint64_t *)op+i*63+ 6) = (uint64_t)IPW(ip, i*64+ 6) >> 6 | (uint64_t)IPX(ip, i*64+7) << 57;\ + IP64(ip, i*64+ 7, parm); *((uint64_t *)op+i*63+ 7) = (uint64_t)IPW(ip, i*64+ 7) >> 7 | (uint64_t)IPX(ip, i*64+8) << 56;\ + IP64(ip, i*64+ 8, parm); *((uint64_t *)op+i*63+ 8) = (uint64_t)IPW(ip, i*64+ 8) >> 8 | (uint64_t)IPX(ip, i*64+9) << 55;\ + IP64(ip, i*64+ 9, parm); *((uint64_t *)op+i*63+ 9) = (uint64_t)IPW(ip, i*64+ 9) >> 9 | (uint64_t)IPX(ip, i*64+10) << 54;\ + IP64(ip, i*64+10, parm); *((uint64_t *)op+i*63+10) = (uint64_t)IPW(ip, i*64+10) >> 10 | (uint64_t)IPX(ip, i*64+11) << 53;\ + IP64(ip, i*64+11, parm); *((uint64_t *)op+i*63+11) = (uint64_t)IPW(ip, i*64+11) >> 11 | (uint64_t)IPX(ip, i*64+12) << 52;\ + IP64(ip, i*64+12, parm); *((uint64_t *)op+i*63+12) = (uint64_t)IPW(ip, i*64+12) >> 12 | (uint64_t)IPX(ip, i*64+13) << 51;\ + IP64(ip, i*64+13, parm); *((uint64_t *)op+i*63+13) = (uint64_t)IPW(ip, i*64+13) >> 13 | (uint64_t)IPX(ip, i*64+14) << 50;\ + IP64(ip, i*64+14, parm); *((uint64_t *)op+i*63+14) = (uint64_t)IPW(ip, i*64+14) >> 14 | (uint64_t)IPX(ip, i*64+15) << 49;\ + IP64(ip, i*64+15, parm); *((uint64_t *)op+i*63+15) = (uint64_t)IPW(ip, i*64+15) >> 15 | (uint64_t)IPX(ip, i*64+16) << 48;\ + IP64(ip, i*64+16, parm); *((uint64_t *)op+i*63+16) = (uint64_t)IPW(ip, i*64+16) >> 16 | (uint64_t)IPX(ip, i*64+17) << 47;\ + IP64(ip, i*64+17, parm); *((uint64_t *)op+i*63+17) = (uint64_t)IPW(ip, i*64+17) >> 17 | (uint64_t)IPX(ip, i*64+18) << 46;\ + IP64(ip, i*64+18, parm); *((uint64_t *)op+i*63+18) = (uint64_t)IPW(ip, i*64+18) >> 18 | (uint64_t)IPX(ip, i*64+19) << 45;\ + IP64(ip, i*64+19, parm); *((uint64_t *)op+i*63+19) = (uint64_t)IPW(ip, i*64+19) >> 19 | (uint64_t)IPX(ip, i*64+20) << 44;\ + IP64(ip, i*64+20, parm); *((uint64_t *)op+i*63+20) = (uint64_t)IPW(ip, i*64+20) >> 20 | (uint64_t)IPX(ip, i*64+21) << 43;\ + IP64(ip, i*64+21, parm); *((uint64_t *)op+i*63+21) = (uint64_t)IPW(ip, i*64+21) >> 21 | (uint64_t)IPX(ip, i*64+22) << 42;\ + IP64(ip, i*64+22, parm); *((uint64_t *)op+i*63+22) = (uint64_t)IPW(ip, i*64+22) >> 22 | (uint64_t)IPX(ip, i*64+23) << 41;\ + IP64(ip, i*64+23, parm); *((uint64_t *)op+i*63+23) = (uint64_t)IPW(ip, i*64+23) >> 23 | (uint64_t)IPX(ip, i*64+24) << 40;\ + IP64(ip, i*64+24, parm); *((uint64_t *)op+i*63+24) = (uint64_t)IPW(ip, i*64+24) >> 24 | (uint64_t)IPX(ip, i*64+25) << 39;\ + IP64(ip, i*64+25, parm); *((uint64_t *)op+i*63+25) = (uint64_t)IPW(ip, i*64+25) >> 25 | (uint64_t)IPX(ip, i*64+26) << 38;\ + IP64(ip, i*64+26, parm); *((uint64_t *)op+i*63+26) = (uint64_t)IPW(ip, i*64+26) >> 26 | (uint64_t)IPX(ip, i*64+27) << 37;\ + IP64(ip, i*64+27, parm); *((uint64_t *)op+i*63+27) = (uint64_t)IPW(ip, i*64+27) >> 27 | (uint64_t)IPX(ip, i*64+28) << 36;\ + IP64(ip, i*64+28, parm); *((uint64_t *)op+i*63+28) = (uint64_t)IPW(ip, i*64+28) >> 28 | (uint64_t)IPX(ip, i*64+29) << 35;\ + IP64(ip, i*64+29, parm); *((uint64_t *)op+i*63+29) = (uint64_t)IPW(ip, i*64+29) >> 29 | (uint64_t)IPX(ip, i*64+30) << 34;\ + IP64(ip, i*64+30, parm); *((uint64_t *)op+i*63+30) = (uint64_t)IPW(ip, i*64+30) >> 30 | (uint64_t)IPX(ip, i*64+31) << 33;\ + IP64(ip, i*64+31, parm); *((uint64_t *)op+i*63+31) = (uint64_t)IPW(ip, i*64+31) >> 31;\ } #define BITPACK64_63(ip, op, parm) { \ @@ -2220,7 +2220,7 @@ } #define BITBLK64_64(ip, i, op, parm) { ;\ - IPB(ip, i*1+ 0, parm); *((uint64_t *)op+i*1+ 0) = (uint64_t)IPV(ip, i*1+ 0) ;\ + IP9(ip, i*1+ 0, parm); *((uint64_t *)op+i*1+ 0) = (uint64_t)IPV(ip, i*1+ 0) ;\ } #define BITPACK64_64(ip, op, parm) { \ @@ -2259,6 +2259,7 @@ } #ifndef DELTA +#define USIZE 8 unsigned char *TEMPLATE2(_BITPACK_,8_0)( uint8_t *__restrict in, unsigned n, const unsigned char *__restrict out ) { return out; } unsigned char *TEMPLATE2(_BITPACK_,8_1)(uint8_t *__restrict in, unsigned n, const unsigned char *__restrict out ) { unsigned char *out_=out+PAD8(n*1); uint8_t v,x;do { BITPACK64_1( in, out, start); PREFETCH(in); } while(out