adding LDPC encoder and decoder (from mwc18 branch)
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
#include "PHY/sse_intrin.h"
|
||||
// generated code for Zc=288, byte encoding
|
||||
static inline void ldpc288_byte(uint8_t *c,uint8_t *d) {
|
||||
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
|
||||
|
||||
__m256i *c2,*d2;
|
||||
|
||||
int i2;
|
||||
for (i2=0; i2<9; i2++) {
|
||||
c2=&csimd[i2];
|
||||
d2=&dsimd[i2];
|
||||
|
||||
//row: 0
|
||||
d2[0]=_mm256_xor_si256(c2[7530],_mm256_xor_si256(c2[7529],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[10697],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[11129],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[11130],_mm256_xor_si256(c2[10355],_mm256_xor_si256(c2[12336],_mm256_xor_si256(c2[2435],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[2056],_mm256_xor_si256(c2[4827],_mm256_xor_si256(c2[10788],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[7621],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[7238],_mm256_xor_si256(c2[4880],_mm256_xor_si256(c2[10428],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[4110],_mm256_xor_si256(c2[12421],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[11646],_mm256_xor_si256(c2[8481],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[6520],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[8121],_mm256_xor_si256(c2[5349],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[9726],_mm256_xor_si256(c2[6156],_mm256_xor_si256(c2[10117],_mm256_xor_si256(c2[7761],_mm256_xor_si256(c2[4196],_mm256_xor_si256(c2[1819],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[2239],_mm256_xor_si256(c2[7779],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[9778],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[12172],_mm256_xor_si256(c2[7423],_mm256_xor_si256(c2[7834],_mm256_xor_si256(c2[9816],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[12602],_mm256_xor_si256(c2[5480],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[9852],_mm256_xor_si256(c2[11434],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[4327],_mm256_xor_si256(c2[7095],_mm256_xor_si256(c2[2366],_mm256_xor_si256(c2[9489],c2[5133]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 1
|
||||
d2[9]=_mm256_xor_si256(c2[7530],_mm256_xor_si256(c2[7926],_mm256_xor_si256(c2[7925],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[11093],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[7150],_mm256_xor_si256(c2[11129],_mm256_xor_si256(c2[11525],_mm256_xor_si256(c2[1229],_mm256_xor_si256(c2[11526],_mm256_xor_si256(c2[10355],_mm256_xor_si256(c2[10751],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[476],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[5223],_mm256_xor_si256(c2[10788],_mm256_xor_si256(c2[11184],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[8017],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[4470],_mm256_xor_si256(c2[7634],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[10824],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[4506],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[2526],_mm256_xor_si256(c2[11646],_mm256_xor_si256(c2[12042],_mm256_xor_si256(c2[8877],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[6520],_mm256_xor_si256(c2[6916],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[8121],_mm256_xor_si256(c2[8517],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[9726],_mm256_xor_si256(c2[10122],_mm256_xor_si256(c2[6552],_mm256_xor_si256(c2[10513],_mm256_xor_si256(c2[7761],_mm256_xor_si256(c2[8157],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[3818],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[8175],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[4237],_mm256_xor_si256(c2[10174],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[7024],_mm256_xor_si256(c2[12568],_mm256_xor_si256(c2[7819],_mm256_xor_si256(c2[8230],_mm256_xor_si256(c2[10212],_mm256_xor_si256(c2[2687],_mm256_xor_si256(c2[12602],_mm256_xor_si256(c2[327],_mm256_xor_si256(c2[5876],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[9852],_mm256_xor_si256(c2[10248],_mm256_xor_si256(c2[11830],_mm256_xor_si256(c2[3912],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[4322],_mm256_xor_si256(c2[4723],_mm256_xor_si256(c2[7491],_mm256_xor_si256(c2[2366],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[9885],c2[5529])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 2
|
||||
d2[18]=_mm256_xor_si256(c2[7926],_mm256_xor_si256(c2[7925],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[10697],_mm256_xor_si256(c2[11093],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[7150],_mm256_xor_si256(c2[11525],_mm256_xor_si256(c2[1229],_mm256_xor_si256(c2[11130],_mm256_xor_si256(c2[11526],_mm256_xor_si256(c2[10751],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[2435],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[476],_mm256_xor_si256(c2[2056],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[4827],_mm256_xor_si256(c2[5223],_mm256_xor_si256(c2[11184],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[7621],_mm256_xor_si256(c2[8017],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[4470],_mm256_xor_si256(c2[7238],_mm256_xor_si256(c2[7634],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[10428],_mm256_xor_si256(c2[10824],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[4506],_mm256_xor_si256(c2[12421],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[2526],_mm256_xor_si256(c2[12042],_mm256_xor_si256(c2[8877],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[6916],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[8517],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[10122],_mm256_xor_si256(c2[6552],_mm256_xor_si256(c2[10117],_mm256_xor_si256(c2[10513],_mm256_xor_si256(c2[8157],_mm256_xor_si256(c2[4196],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[1819],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[3818],_mm256_xor_si256(c2[2239],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[7779],_mm256_xor_si256(c2[8175],_mm256_xor_si256(c2[4237],_mm256_xor_si256(c2[10174],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[7024],_mm256_xor_si256(c2[12568],_mm256_xor_si256(c2[7423],_mm256_xor_si256(c2[7819],_mm256_xor_si256(c2[8230],_mm256_xor_si256(c2[9816],_mm256_xor_si256(c2[10212],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[2687],_mm256_xor_si256(c2[327],_mm256_xor_si256(c2[5480],_mm256_xor_si256(c2[5876],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[10248],_mm256_xor_si256(c2[11830],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[3912],_mm256_xor_si256(c2[4322],_mm256_xor_si256(c2[4327],_mm256_xor_si256(c2[4723],_mm256_xor_si256(c2[7095],_mm256_xor_si256(c2[7491],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[9885],_mm256_xor_si256(c2[5133],c2[5529]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 3
|
||||
d2[27]=_mm256_xor_si256(c2[7926],_mm256_xor_si256(c2[7925],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[10697],_mm256_xor_si256(c2[11093],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[7150],_mm256_xor_si256(c2[11525],_mm256_xor_si256(c2[1229],_mm256_xor_si256(c2[11526],_mm256_xor_si256(c2[10751],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[2435],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[476],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[4827],_mm256_xor_si256(c2[5223],_mm256_xor_si256(c2[11184],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[8017],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[4470],_mm256_xor_si256(c2[7238],_mm256_xor_si256(c2[7634],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[10824],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[4506],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[2526],_mm256_xor_si256(c2[12042],_mm256_xor_si256(c2[8877],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[6916],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[8517],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[10122],_mm256_xor_si256(c2[6552],_mm256_xor_si256(c2[10117],_mm256_xor_si256(c2[10513],_mm256_xor_si256(c2[8157],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[1819],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[3818],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[7779],_mm256_xor_si256(c2[8175],_mm256_xor_si256(c2[4237],_mm256_xor_si256(c2[10174],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[7024],_mm256_xor_si256(c2[12568],_mm256_xor_si256(c2[7423],_mm256_xor_si256(c2[7819],_mm256_xor_si256(c2[8230],_mm256_xor_si256(c2[10212],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[2687],_mm256_xor_si256(c2[327],_mm256_xor_si256(c2[5876],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[10248],_mm256_xor_si256(c2[11830],_mm256_xor_si256(c2[3912],_mm256_xor_si256(c2[4322],_mm256_xor_si256(c2[4723],_mm256_xor_si256(c2[7095],_mm256_xor_si256(c2[7491],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[9885],_mm256_xor_si256(c2[5133],c2[5529])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 4
|
||||
d2[36]=_mm256_xor_si256(c2[8719],c2[4381]);
|
||||
|
||||
//row: 5
|
||||
d2[45]=_mm256_xor_si256(c2[1190],_mm256_xor_si256(c2[1189],_mm256_xor_si256(c2[7131],_mm256_xor_si256(c2[4357],_mm256_xor_si256(c2[1988],_mm256_xor_si256(c2[8731],_mm256_xor_si256(c2[9126],_mm256_xor_si256(c2[414],_mm256_xor_si256(c2[8339],_mm256_xor_si256(c2[4789],_mm256_xor_si256(c2[7164],_mm256_xor_si256(c2[4790],_mm256_xor_si256(c2[4015],_mm256_xor_si256(c2[5996],_mm256_xor_si256(c2[8766],_mm256_xor_si256(c2[3224],_mm256_xor_si256(c2[6411],_mm256_xor_si256(c2[8396],_mm256_xor_si256(c2[11167],_mm256_xor_si256(c2[4448],_mm256_xor_si256(c2[6426],_mm256_xor_si256(c2[1281],_mm256_xor_si256(c2[8032],_mm256_xor_si256(c2[10405],_mm256_xor_si256(c2[907],_mm256_xor_si256(c2[11220],_mm256_xor_si256(c2[4088],_mm256_xor_si256(c2[8054],_mm256_xor_si256(c2[10441],_mm256_xor_si256(c2[6090],_mm256_xor_si256(c2[8461],_mm256_xor_si256(c2[5315],_mm256_xor_si256(c2[2150],_mm256_xor_si256(c2[6502],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[7708],_mm256_xor_si256(c2[10085],_mm256_xor_si256(c2[1790],_mm256_xor_si256(c2[11689],_mm256_xor_si256(c2[7326],_mm256_xor_si256(c2[3386],_mm256_xor_si256(c2[12496],_mm256_xor_si256(c2[3786],_mm256_xor_si256(c2[10916],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[10536],_mm256_xor_si256(c2[8159],_mm256_xor_si256(c2[9762],_mm256_xor_si256(c2[8570],_mm256_xor_si256(c2[1448],_mm256_xor_si256(c2[10172],_mm256_xor_si256(c2[3438],_mm256_xor_si256(c2[6610],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[5832],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[12175],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[3476],_mm256_xor_si256(c2[8622],_mm256_xor_si256(c2[6271],_mm256_xor_si256(c2[11811],_mm256_xor_si256(c2[6664],_mm256_xor_si256(c2[3512],_mm256_xor_si256(c2[5094],_mm256_xor_si256(c2[9847],_mm256_xor_si256(c2[10266],_mm256_xor_si256(c2[10658],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[8697],_mm256_xor_si256(c2[3158],_mm256_xor_si256(c2[11473],c2[6320]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 6
|
||||
d2[54]=_mm256_xor_si256(c2[6338],_mm256_xor_si256(c2[6448],_mm256_xor_si256(c2[3749],_mm256_xor_si256(c2[10496],_mm256_xor_si256(c2[10927],_mm256_xor_si256(c2[7043],_mm256_xor_si256(c2[9436],c2[5115])))))));
|
||||
|
||||
//row: 7
|
||||
d2[63]=_mm256_xor_si256(c2[3569],_mm256_xor_si256(c2[11507],_mm256_xor_si256(c2[10372],_mm256_xor_si256(c2[9635],_mm256_xor_si256(c2[3315],c2[1841])))));
|
||||
|
||||
//row: 8
|
||||
d2[72]=_mm256_xor_si256(c2[9904],_mm256_xor_si256(c2[3968],_mm256_xor_si256(c2[9903],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[9504],_mm256_xor_si256(c2[9900],_mm256_xor_si256(c2[400],_mm256_xor_si256(c2[6739],_mm256_xor_si256(c2[7135],_mm256_xor_si256(c2[8713],_mm256_xor_si256(c2[4774],_mm256_xor_si256(c2[11509],_mm256_xor_si256(c2[5169],_mm256_xor_si256(c2[11508],_mm256_xor_si256(c2[11904],_mm256_xor_si256(c2[9128],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[3192],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[7567],_mm256_xor_si256(c2[3207],_mm256_xor_si256(c2[9942],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[7172],_mm256_xor_si256(c2[7568],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[6793],_mm256_xor_si256(c2[2039],_mm256_xor_si256(c2[8774],_mm256_xor_si256(c2[4809],_mm256_xor_si256(c2[11148],_mm256_xor_si256(c2[11544],_mm256_xor_si256(c2[11149],_mm256_xor_si256(c2[2454],_mm256_xor_si256(c2[9180],_mm256_xor_si256(c2[4430],_mm256_xor_si256(c2[10769],_mm256_xor_si256(c2[11165],_mm256_xor_si256(c2[7201],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[1265],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[7226],_mm256_xor_si256(c2[2469],_mm256_xor_si256(c2[9204],_mm256_xor_si256(c2[9995],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[4050],_mm256_xor_si256(c2[4075],_mm256_xor_si256(c2[10801],_mm256_xor_si256(c2[6448],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[9612],_mm256_xor_si256(c2[3280],_mm256_xor_si256(c2[3676],_mm256_xor_si256(c2[7254],_mm256_xor_si256(c2[1318],_mm256_xor_si256(c2[131],_mm256_xor_si256(c2[6470],_mm256_xor_si256(c2[6866],_mm256_xor_si256(c2[4088],_mm256_xor_si256(c2[10427],_mm256_xor_si256(c2[10823],_mm256_xor_si256(c2[6484],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[2124],_mm256_xor_si256(c2[8463],_mm256_xor_si256(c2[8859],_mm256_xor_si256(c2[4504],_mm256_xor_si256(c2[10843],_mm256_xor_si256(c2[11239],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[8084],_mm256_xor_si256(c2[10855],_mm256_xor_si256(c2[4919],_mm256_xor_si256(c2[2545],_mm256_xor_si256(c2[8875],_mm256_xor_si256(c2[9271],_mm256_xor_si256(c2[8894],_mm256_xor_si256(c2[2958],_mm256_xor_si256(c2[3751],_mm256_xor_si256(c2[10081],_mm256_xor_si256(c2[10477],_mm256_xor_si256(c2[6128],_mm256_xor_si256(c2[12458],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[10495],_mm256_xor_si256(c2[4559],_mm256_xor_si256(c2[7723],_mm256_xor_si256(c2[1787],_mm256_xor_si256(c2[3369],_mm256_xor_si256(c2[9708],_mm256_xor_si256(c2[10104],_mm256_xor_si256(c2[12100],_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[8539],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[12500],_mm256_xor_si256(c2[6159],_mm256_xor_si256(c2[6555],_mm256_xor_si256(c2[3781],_mm256_xor_si256(c2[10135],_mm256_xor_si256(c2[4199],_mm256_xor_si256(c2[6570],_mm256_xor_si256(c2[238],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[4202],_mm256_xor_si256(c2[10532],_mm256_xor_si256(c2[10928],_mm256_xor_si256(c2[5796],_mm256_xor_si256(c2[12531],_mm256_xor_si256(c2[4613],_mm256_xor_si256(c2[10952],_mm256_xor_si256(c2[11348],_mm256_xor_si256(c2[10153],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[4217],_mm256_xor_si256(c2[6215],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[12152],_mm256_xor_si256(c2[6216],_mm256_xor_si256(c2[2653],_mm256_xor_si256(c2[8983],_mm256_xor_si256(c2[9379],_mm256_xor_si256(c2[9002],_mm256_xor_si256(c2[3066],_mm256_xor_si256(c2[1875],_mm256_xor_si256(c2[8610],_mm256_xor_si256(c2[9797],_mm256_xor_si256(c2[3456],_mm256_xor_si256(c2[3852],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[10208],_mm256_xor_si256(c2[4272],_mm256_xor_si256(c2[12190],_mm256_xor_si256(c2[5858],_mm256_xor_si256(c2[6254],_mm256_xor_si256(c2[4665],_mm256_xor_si256(c2[11004],_mm256_xor_si256(c2[11400],_mm256_xor_si256(c2[2305],_mm256_xor_si256(c2[9040],_mm256_xor_si256(c2[7854],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1909],_mm256_xor_si256(c2[2707],_mm256_xor_si256(c2[9037],_mm256_xor_si256(c2[9433],_mm256_xor_si256(c2[12226],_mm256_xor_si256(c2[6290],_mm256_xor_si256(c2[1137],_mm256_xor_si256(c2[7872],_mm256_xor_si256(c2[5890],_mm256_xor_si256(c2[12229],_mm256_xor_si256(c2[12625],_mm256_xor_si256(c2[5887],_mm256_xor_si256(c2[6300],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[6701],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[9469],_mm256_xor_si256(c2[3137],_mm256_xor_si256(c2[3533],_mm256_xor_si256(c2[4740],_mm256_xor_si256(c2[11466],_mm256_xor_si256(c2[11863],_mm256_xor_si256(c2[5927],_mm256_xor_si256(c2[7507],_mm256_xor_si256(c2[1175],_mm256_xor_si256(c2[1571],c2[6318]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 9
|
||||
d2[81]=_mm256_xor_si256(c2[797],_mm256_xor_si256(c2[12298],_mm256_xor_si256(c2[11666],_mm256_xor_si256(c2[2578],_mm256_xor_si256(c2[5383],_mm256_xor_si256(c2[1894],_mm256_xor_si256(c2[5078],c2[7098])))))));
|
||||
|
||||
//row: 10
|
||||
d2[90]=_mm256_xor_si256(c2[7151],_mm256_xor_si256(c2[432],_mm256_xor_si256(c2[11160],_mm256_xor_si256(c2[4490],_mm256_xor_si256(c2[4111],c2[3822])))));
|
||||
|
||||
//row: 11
|
||||
d2[99]=_mm256_xor_si256(c2[10303],_mm256_xor_si256(c2[5155],_mm256_xor_si256(c2[5551],_mm256_xor_si256(c2[10302],_mm256_xor_si256(c2[5550],_mm256_xor_si256(c2[3564],_mm256_xor_si256(c2[11492],_mm256_xor_si256(c2[799],_mm256_xor_si256(c2[8718],_mm256_xor_si256(c2[9109],_mm256_xor_si256(c2[5173],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[5568],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[9527],_mm256_xor_si256(c2[4775],_mm256_xor_si256(c2[9126],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[8754],_mm256_xor_si256(c2[9150],_mm256_xor_si256(c2[3606],_mm256_xor_si256(c2[11525],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[9151],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[7980],_mm256_xor_si256(c2[8376],_mm256_xor_si256(c2[2438],_mm256_xor_si256(c2[10357],_mm256_xor_si256(c2[5208],_mm256_xor_si256(c2[456],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[10772],_mm256_xor_si256(c2[4829],_mm256_xor_si256(c2[77],_mm256_xor_si256(c2[7600],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[890],_mm256_xor_si256(c2[8413],_mm256_xor_si256(c2[8809],_mm256_xor_si256(c2[2868],_mm256_xor_si256(c2[10787],_mm256_xor_si256(c2[10394],_mm256_xor_si256(c2[5642],_mm256_xor_si256(c2[4465],_mm256_xor_si256(c2[11988],_mm256_xor_si256(c2[12384],_mm256_xor_si256(c2[6847],_mm256_xor_si256(c2[2095],_mm256_xor_si256(c2[10011],_mm256_xor_si256(c2[5259],_mm256_xor_si256(c2[7653],_mm256_xor_si256(c2[2901],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[8449],_mm256_xor_si256(c2[4487],_mm256_xor_si256(c2[12406],_mm256_xor_si256(c2[6883],_mm256_xor_si256(c2[2131],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[10442],_mm256_xor_si256(c2[4903],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[1748],_mm256_xor_si256(c2[9271],_mm256_xor_si256(c2[9667],_mm256_xor_si256(c2[11254],_mm256_xor_si256(c2[6502],_mm256_xor_si256(c2[2935],_mm256_xor_si256(c2[10854],_mm256_xor_si256(c2[9293],_mm256_xor_si256(c2[4145],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[12060],_mm256_xor_si256(c2[6518],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[10894],_mm256_xor_si256(c2[5746],_mm256_xor_si256(c2[6142],_mm256_xor_si256(c2[8122],_mm256_xor_si256(c2[3370],_mm256_xor_si256(c2[3768],_mm256_xor_si256(c2[11687],_mm256_xor_si256(c2[12499],_mm256_xor_si256(c2[7351],_mm256_xor_si256(c2[7747],_mm256_xor_si256(c2[8929],_mm256_xor_si256(c2[4177],_mm256_xor_si256(c2[219],_mm256_xor_si256(c2[8138],_mm256_xor_si256(c2[7352],_mm256_xor_si256(c2[10534],_mm256_xor_si256(c2[5386],_mm256_xor_si256(c2[5782],_mm256_xor_si256(c2[6969],_mm256_xor_si256(c2[2217],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[12511],_mm256_xor_si256(c2[6195],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[5012],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[10552],_mm256_xor_si256(c2[5800],_mm256_xor_si256(c2[6614],_mm256_xor_si256(c2[1466],_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[12551],_mm256_xor_si256(c2[7799],_mm256_xor_si256(c2[3043],_mm256_xor_si256(c2[10962],_mm256_xor_si256(c2[9401],_mm256_xor_si256(c2[4253],_mm256_xor_si256(c2[4649],_mm256_xor_si256(c2[2274],_mm256_xor_si256(c2[10193],_mm256_xor_si256(c2[10196],_mm256_xor_si256(c2[5444],_mm256_xor_si256(c2[8609],_mm256_xor_si256(c2[10607],_mm256_xor_si256(c2[5855],_mm256_xor_si256(c2[12589],_mm256_xor_si256(c2[7837],_mm256_xor_si256(c2[5064],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[10227],_mm256_xor_si256(c2[10623],_mm256_xor_si256(c2[8244],_mm256_xor_si256(c2[3492],_mm256_xor_si256(c2[3097],_mm256_xor_si256(c2[11016],_mm256_xor_si256(c2[12625],_mm256_xor_si256(c2[7477],_mm256_xor_si256(c2[7873],_mm256_xor_si256(c2[1536],_mm256_xor_si256(c2[9455],_mm256_xor_si256(c2[6289],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[6699],_mm256_xor_si256(c2[1551],_mm256_xor_si256(c2[1947],_mm256_xor_si256(c2[7100],_mm256_xor_si256(c2[2348],_mm256_xor_si256(c2[9868],_mm256_xor_si256(c2[5116],_mm256_xor_si256(c2[5130],_mm256_xor_si256(c2[12662],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[12262],_mm256_xor_si256(c2[7510],_mm256_xor_si256(c2[7906],_mm256_xor_si256(c2[3154],c2[7118])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 12
|
||||
d2[108]=_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[815],_mm256_xor_si256(c2[8107],_mm256_xor_si256(c2[9310],_mm256_xor_si256(c2[5785],c2[7855])))));
|
||||
|
||||
//row: 13
|
||||
d2[117]=_mm256_xor_si256(c2[9115],_mm256_xor_si256(c2[9511],_mm256_xor_si256(c2[9510],_mm256_xor_si256(c2[2772],_mm256_xor_si256(c2[7],_mm256_xor_si256(c2[2779],_mm256_xor_si256(c2[3985],_mm256_xor_si256(c2[4381],_mm256_xor_si256(c2[4776],_mm256_xor_si256(c2[8735],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[439],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[440],_mm256_xor_si256(c2[11940],_mm256_xor_si256(c2[12336],_mm256_xor_si256(c2[1646],_mm256_xor_si256(c2[4416],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[2052],_mm256_xor_si256(c2[4037],_mm256_xor_si256(c2[6808],_mm256_xor_si256(c2[12373],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[2076],_mm256_xor_si256(c2[9602],_mm256_xor_si256(c2[3277],_mm256_xor_si256(c2[3673],_mm256_xor_si256(c2[6055],_mm256_xor_si256(c2[9219],_mm256_xor_si256(c2[6861],_mm256_xor_si256(c2[12409],_mm256_xor_si256(c2[3695],_mm256_xor_si256(c2[9636],_mm256_xor_si256(c2[6091],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[4111],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[956],_mm256_xor_si256(c2[10462],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[8105],_mm256_xor_si256(c2[8501],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[5726],_mm256_xor_si256(c2[9706],_mm256_xor_si256(c2[10102],_mm256_xor_si256(c2[7330],_mm256_xor_si256(c2[2976],_mm256_xor_si256(c2[11311],_mm256_xor_si256(c2[11707],_mm256_xor_si256(c2[8137],_mm256_xor_si256(c2[12098],_mm256_xor_si256(c2[9346],_mm256_xor_si256(c2[9742],_mm256_xor_si256(c2[6177],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[5403],_mm256_xor_si256(c2[4220],_mm256_xor_si256(c2[9760],_mm256_xor_si256(c2[5426],_mm256_xor_si256(c2[5822],_mm256_xor_si256(c2[11759],_mm256_xor_si256(c2[2251],_mm256_xor_si256(c2[8213],_mm256_xor_si256(c2[8609],_mm256_xor_si256(c2[1482],_mm256_xor_si256(c2[9404],_mm256_xor_si256(c2[9815],_mm256_xor_si256(c2[11797],_mm256_xor_si256(c2[4272],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1912],_mm256_xor_si256(c2[7452],_mm256_xor_si256(c2[2305],_mm256_xor_si256(c2[11437],_mm256_xor_si256(c2[11833],_mm256_xor_si256(c2[744],_mm256_xor_si256(c2[5497],_mm256_xor_si256(c2[5511],_mm256_xor_si256(c2[5907],_mm256_xor_si256(c2[6308],_mm256_xor_si256(c2[9076],_mm256_xor_si256(c2[6301],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[4338],_mm256_xor_si256(c2[11470],c2[7114])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 14
|
||||
d2[126]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[10517],_mm256_xor_si256(c2[11761],_mm256_xor_si256(c2[6624],_mm256_xor_si256(c2[306],c2[6320])))));
|
||||
|
||||
//row: 15
|
||||
d2[135]=_mm256_xor_si256(c2[7928],_mm256_xor_si256(c2[7927],_mm256_xor_si256(c2[1189],_mm256_xor_si256(c2[10699],_mm256_xor_si256(c2[11095],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[3193],_mm256_xor_si256(c2[6756],_mm256_xor_si256(c2[7152],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[11527],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[11528],_mm256_xor_si256(c2[10753],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[2454],_mm256_xor_si256(c2[4829],_mm256_xor_si256(c2[5225],_mm256_xor_si256(c2[11186],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[8010],_mm256_xor_si256(c2[2090],_mm256_xor_si256(c2[4472],_mm256_xor_si256(c2[7240],_mm256_xor_si256(c2[7636],_mm256_xor_si256(c2[5278],_mm256_xor_si256(c2[10826],_mm256_xor_si256(c2[1716],_mm256_xor_si256(c2[2112],_mm256_xor_si256(c2[4508],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[2528],_mm256_xor_si256(c2[12044],_mm256_xor_si256(c2[8879],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[6918],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[3747],_mm256_xor_si256(c2[4143],_mm256_xor_si256(c2[9293],_mm256_xor_si256(c2[8519],_mm256_xor_si256(c2[5747],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[10124],_mm256_xor_si256(c2[6554],_mm256_xor_si256(c2[10119],_mm256_xor_si256(c2[10515],_mm256_xor_si256(c2[8159],_mm256_xor_si256(c2[4594],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[2217],_mm256_xor_si256(c2[4989],_mm256_xor_si256(c2[3820],_mm256_xor_si256(c2[2628],_mm256_xor_si256(c2[7781],_mm256_xor_si256(c2[8177],_mm256_xor_si256(c2[4230],_mm256_xor_si256(c2[10176],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[7026],_mm256_xor_si256(c2[12570],_mm256_xor_si256(c2[7416],_mm256_xor_si256(c2[7812],_mm256_xor_si256(c2[8232],_mm256_xor_si256(c2[10214],_mm256_xor_si256(c2[2293],_mm256_xor_si256(c2[2689],_mm256_xor_si256(c2[329],_mm256_xor_si256(c2[5869],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[10250],_mm256_xor_si256(c2[11832],_mm256_xor_si256(c2[3914],_mm256_xor_si256(c2[4324],_mm256_xor_si256(c2[4716],_mm256_xor_si256(c2[7097],_mm256_xor_si256(c2[7493],_mm256_xor_si256(c2[2755],_mm256_xor_si256(c2[9887],_mm256_xor_si256(c2[5135],c2[5531]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 16
|
||||
d2[144]=_mm256_xor_si256(c2[7530],_mm256_xor_si256(c2[7529],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[10697],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[5570],_mm256_xor_si256(c2[11129],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[11130],_mm256_xor_si256(c2[10355],_mm256_xor_si256(c2[12336],_mm256_xor_si256(c2[2435],_mm256_xor_si256(c2[5202],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[2056],_mm256_xor_si256(c2[4827],_mm256_xor_si256(c2[10788],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[7621],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[7238],_mm256_xor_si256(c2[4880],_mm256_xor_si256(c2[10428],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[4110],_mm256_xor_si256(c2[12421],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[11646],_mm256_xor_si256(c2[8481],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[6520],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[8121],_mm256_xor_si256(c2[5349],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[1389],_mm256_xor_si256(c2[9726],_mm256_xor_si256(c2[6156],_mm256_xor_si256(c2[10117],_mm256_xor_si256(c2[7761],_mm256_xor_si256(c2[4196],_mm256_xor_si256(c2[1819],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[2239],_mm256_xor_si256(c2[7779],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[9778],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[12172],_mm256_xor_si256(c2[7423],_mm256_xor_si256(c2[7834],_mm256_xor_si256(c2[9816],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[12602],_mm256_xor_si256(c2[5480],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[9852],_mm256_xor_si256(c2[11434],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[4327],_mm256_xor_si256(c2[7095],_mm256_xor_si256(c2[9073],_mm256_xor_si256(c2[2366],_mm256_xor_si256(c2[9489],c2[5133]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 17
|
||||
d2[153]=_mm256_xor_si256(c2[9904],_mm256_xor_si256(c2[3820],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[306],c2[1175]))));
|
||||
|
||||
//row: 18
|
||||
d2[162]=_mm256_xor_si256(c2[419],_mm256_xor_si256(c2[9328],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[7063],c2[6682]))));
|
||||
|
||||
//row: 19
|
||||
d2[171]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[8841],_mm256_xor_si256(c2[6484],c2[180]))));
|
||||
|
||||
//row: 20
|
||||
d2[180]=_mm256_xor_si256(c2[9112],_mm256_xor_si256(c2[9111],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[12279],_mm256_xor_si256(c2[3572],_mm256_xor_si256(c2[3982],_mm256_xor_si256(c2[4377],_mm256_xor_si256(c2[8336],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[2415],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[11937],_mm256_xor_si256(c2[1247],_mm256_xor_si256(c2[4017],_mm256_xor_si256(c2[6788],_mm256_xor_si256(c2[1662],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[6409],_mm256_xor_si256(c2[12370],_mm256_xor_si256(c2[1677],_mm256_xor_si256(c2[9203],_mm256_xor_si256(c2[3283],_mm256_xor_si256(c2[5656],_mm256_xor_si256(c2[8820],_mm256_xor_si256(c2[6462],_mm256_xor_si256(c2[12010],_mm256_xor_si256(c2[3296],_mm256_xor_si256(c2[5692],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[3712],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[10063],_mm256_xor_si256(c2[1753],_mm256_xor_si256(c2[10460],_mm256_xor_si256(c2[8102],_mm256_xor_si256(c2[2959],_mm256_xor_si256(c2[5336],_mm256_xor_si256(c2[9703],_mm256_xor_si256(c2[6931],_mm256_xor_si256(c2[2577],_mm256_xor_si256(c2[6538],_mm256_xor_si256(c2[11308],_mm256_xor_si256(c2[7747],_mm256_xor_si256(c2[11708],_mm256_xor_si256(c2[9343],_mm256_xor_si256(c2[5778],_mm256_xor_si256(c2[3410],_mm256_xor_si256(c2[5004],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[9361],_mm256_xor_si256(c2[5423],_mm256_xor_si256(c2[11360],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[8210],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[9005],_mm256_xor_si256(c2[9416],_mm256_xor_si256(c2[11398],_mm256_xor_si256(c2[3873],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[7062],_mm256_xor_si256(c2[1915],_mm256_xor_si256(c2[11434],_mm256_xor_si256(c2[345],_mm256_xor_si256(c2[5098],_mm256_xor_si256(c2[5508],_mm256_xor_si256(c2[5909],_mm256_xor_si256(c2[8677],_mm256_xor_si256(c2[3948],_mm256_xor_si256(c2[11071],c2[6715]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 21
|
||||
d2[189]=_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[5635],_mm256_xor_si256(c2[4256],_mm256_xor_si256(c2[3924],c2[7506]))));
|
||||
|
||||
//row: 22
|
||||
d2[198]=_mm256_xor_si256(c2[3170],_mm256_xor_si256(c2[11705],_mm256_xor_si256(c2[3404],c2[710])));
|
||||
|
||||
//row: 23
|
||||
d2[207]=_mm256_xor_si256(c2[7943],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[180],c2[2309])));
|
||||
|
||||
//row: 24
|
||||
d2[216]=_mm256_xor_si256(c2[7530],_mm256_xor_si256(c2[7529],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[10697],_mm256_xor_si256(c2[4759],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[11129],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[11130],_mm256_xor_si256(c2[10355],_mm256_xor_si256(c2[12336],_mm256_xor_si256(c2[2435],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[2056],_mm256_xor_si256(c2[4827],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[10788],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[7621],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[7238],_mm256_xor_si256(c2[4880],_mm256_xor_si256(c2[10428],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[4110],_mm256_xor_si256(c2[12421],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[11646],_mm256_xor_si256(c2[8481],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[6520],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[8121],_mm256_xor_si256(c2[5349],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[4166],_mm256_xor_si256(c2[9726],_mm256_xor_si256(c2[6156],_mm256_xor_si256(c2[10117],_mm256_xor_si256(c2[7761],_mm256_xor_si256(c2[4196],_mm256_xor_si256(c2[1819],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[2239],_mm256_xor_si256(c2[7779],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[9778],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[12172],_mm256_xor_si256(c2[7423],_mm256_xor_si256(c2[7834],_mm256_xor_si256(c2[9816],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[12602],_mm256_xor_si256(c2[5480],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[9852],_mm256_xor_si256(c2[11434],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[4327],_mm256_xor_si256(c2[7095],_mm256_xor_si256(c2[2366],_mm256_xor_si256(c2[9489],c2[5133]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 25
|
||||
d2[225]=_mm256_xor_si256(c2[5172],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[126],c2[9365])));
|
||||
|
||||
//row: 26
|
||||
d2[234]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[72],c2[8594])));
|
||||
|
||||
//row: 27
|
||||
d2[243]=_mm256_xor_si256(c2[5167],_mm256_xor_si256(c2[1693],c2[3314]));
|
||||
|
||||
//row: 28
|
||||
d2[252]=_mm256_xor_si256(c2[7532],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[11038],c2[12259])));
|
||||
|
||||
//row: 29
|
||||
d2[261]=_mm256_xor_si256(c2[11887],_mm256_xor_si256(c2[11886],_mm256_xor_si256(c2[5148],_mm256_xor_si256(c2[1987],_mm256_xor_si256(c2[2383],_mm256_xor_si256(c2[6757],_mm256_xor_si256(c2[7152],_mm256_xor_si256(c2[10715],_mm256_xor_si256(c2[11111],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[2815],_mm256_xor_si256(c2[5190],_mm256_xor_si256(c2[2816],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[4022],_mm256_xor_si256(c2[6396],_mm256_xor_si256(c2[6792],_mm256_xor_si256(c2[4428],_mm256_xor_si256(c2[6413],_mm256_xor_si256(c2[8788],_mm256_xor_si256(c2[9184],_mm256_xor_si256(c2[2474],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[11978],_mm256_xor_si256(c2[6049],_mm256_xor_si256(c2[8431],_mm256_xor_si256(c2[11199],_mm256_xor_si256(c2[11595],_mm256_xor_si256(c2[9237],_mm256_xor_si256(c2[2114],_mm256_xor_si256(c2[5675],_mm256_xor_si256(c2[6071],_mm256_xor_si256(c2[8467],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[6091],_mm256_xor_si256(c2[6487],_mm256_xor_si256(c2[3332],_mm256_xor_si256(c2[167],_mm256_xor_si256(c2[4519],_mm256_xor_si256(c2[10877],_mm256_xor_si256(c2[5725],_mm256_xor_si256(c2[7706],_mm256_xor_si256(c2[8102],_mm256_xor_si256(c2[12478],_mm256_xor_si256(c2[9706],_mm256_xor_si256(c2[4956],_mm256_xor_si256(c2[5352],_mm256_xor_si256(c2[1412],_mm256_xor_si256(c2[10513],_mm256_xor_si256(c2[1407],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[12118],_mm256_xor_si256(c2[8553],_mm256_xor_si256(c2[5780],_mm256_xor_si256(c2[6176],_mm256_xor_si256(c2[7779],_mm256_xor_si256(c2[6596],_mm256_xor_si256(c2[11740],_mm256_xor_si256(c2[12136],_mm256_xor_si256(c2[8177],_mm256_xor_si256(c2[8198],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[4627],_mm256_xor_si256(c2[10985],_mm256_xor_si256(c2[3858],_mm256_xor_si256(c2[11384],_mm256_xor_si256(c2[11780],_mm256_xor_si256(c2[12191],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[6252],_mm256_xor_si256(c2[6648],_mm256_xor_si256(c2[4288],_mm256_xor_si256(c2[9828],_mm256_xor_si256(c2[4285],_mm256_xor_si256(c2[4681],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[1538],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[7873],_mm256_xor_si256(c2[8283],_mm256_xor_si256(c2[8684],_mm256_xor_si256(c2[11056],_mm256_xor_si256(c2[11452],_mm256_xor_si256(c2[6714],_mm256_xor_si256(c2[1175],_mm256_xor_si256(c2[9094],c2[9490]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 30
|
||||
d2[270]=_mm256_xor_si256(c2[399],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[6340],_mm256_xor_si256(c2[3170],_mm256_xor_si256(c2[3566],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[7940],_mm256_xor_si256(c2[7939],_mm256_xor_si256(c2[8335],_mm256_xor_si256(c2[11898],_mm256_xor_si256(c2[12294],_mm256_xor_si256(c2[3998],_mm256_xor_si256(c2[6373],_mm256_xor_si256(c2[3603],_mm256_xor_si256(c2[3999],_mm256_xor_si256(c2[3224],_mm256_xor_si256(c2[5205],_mm256_xor_si256(c2[7579],_mm256_xor_si256(c2[7975],_mm256_xor_si256(c2[5620],_mm256_xor_si256(c2[7200],_mm256_xor_si256(c2[7596],_mm256_xor_si256(c2[9980],_mm256_xor_si256(c2[10376],_mm256_xor_si256(c2[3657],_mm256_xor_si256(c2[5635],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[490],_mm256_xor_si256(c2[7241],_mm256_xor_si256(c2[9218],_mm256_xor_si256(c2[9614],_mm256_xor_si256(c2[12391],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[10429],_mm256_xor_si256(c2[2901],_mm256_xor_si256(c2[3297],_mm256_xor_si256(c2[6858],_mm256_xor_si256(c2[7254],_mm256_xor_si256(c2[9650],_mm256_xor_si256(c2[4903],_mm256_xor_si256(c2[5299],_mm256_xor_si256(c2[7274],_mm256_xor_si256(c2[7670],_mm256_xor_si256(c2[4524],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[5315],_mm256_xor_si256(c2[5711],_mm256_xor_si256(c2[12060],_mm256_xor_si256(c2[6521],_mm256_xor_si256(c2[6917],_mm256_xor_si256(c2[8898],_mm256_xor_si256(c2[9294],_mm256_xor_si256(c2[10478],_mm256_xor_si256(c2[990],_mm256_xor_si256(c2[10898],_mm256_xor_si256(c2[6139],_mm256_xor_si256(c2[6535],_mm256_xor_si256(c2[2595],_mm256_xor_si256(c2[11705],_mm256_xor_si256(c2[2599],_mm256_xor_si256(c2[2995],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[9349],_mm256_xor_si256(c2[9745],_mm256_xor_si256(c2[6972],_mm256_xor_si256(c2[7368],_mm256_xor_si256(c2[11329],_mm256_xor_si256(c2[8971],_mm256_xor_si256(c2[7383],_mm256_xor_si256(c2[7779],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[9381],_mm256_xor_si256(c2[2647],_mm256_xor_si256(c2[5423],_mm256_xor_si256(c2[5819],_mm256_xor_si256(c2[12168],_mm256_xor_si256(c2[5041],_mm256_xor_si256(c2[12567],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[703],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[2685],_mm256_xor_si256(c2[7435],_mm256_xor_si256(c2[7831],_mm256_xor_si256(c2[5480],_mm256_xor_si256(c2[10624],_mm256_xor_si256(c2[11020],_mm256_xor_si256(c2[5477],_mm256_xor_si256(c2[5873],_mm256_xor_si256(c2[2721],_mm256_xor_si256(c2[4303],_mm256_xor_si256(c2[8660],_mm256_xor_si256(c2[9056],_mm256_xor_si256(c2[9475],_mm256_xor_si256(c2[9471],_mm256_xor_si256(c2[9867],_mm256_xor_si256(c2[12248],_mm256_xor_si256(c2[12644],_mm256_xor_si256(c2[7906],_mm256_xor_si256(c2[2358],_mm256_xor_si256(c2[10286],c2[10682])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 31
|
||||
d2[279]=_mm256_xor_si256(c2[9902],_mm256_xor_si256(c2[2779],_mm256_xor_si256(c2[9901],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[3172],_mm256_xor_si256(c2[8720],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[5550],_mm256_xor_si256(c2[5946],_mm256_xor_si256(c2[4772],_mm256_xor_si256(c2[10320],_mm256_xor_si256(c2[5167],_mm256_xor_si256(c2[10715],_mm256_xor_si256(c2[9126],_mm256_xor_si256(c2[1607],_mm256_xor_si256(c2[2003],_mm256_xor_si256(c2[6358],_mm256_xor_si256(c2[830],_mm256_xor_si256(c2[6378],_mm256_xor_si256(c2[3205],_mm256_xor_si256(c2[8753],_mm256_xor_si256(c2[831],_mm256_xor_si256(c2[6379],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[5604],_mm256_xor_si256(c2[2037],_mm256_xor_si256(c2[7585],_mm256_xor_si256(c2[4807],_mm256_xor_si256(c2[9959],_mm256_xor_si256(c2[10355],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[8000],_mm256_xor_si256(c2[4428],_mm256_xor_si256(c2[9976],_mm256_xor_si256(c2[7208],_mm256_xor_si256(c2[12351],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[489],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[2467],_mm256_xor_si256(c2[8015],_mm256_xor_si256(c2[9993],_mm256_xor_si256(c2[2870],_mm256_xor_si256(c2[4073],_mm256_xor_si256(c2[9612],_mm256_xor_si256(c2[6446],_mm256_xor_si256(c2[11994],_mm256_xor_si256(c2[9619],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[2487],_mm256_xor_si256(c2[7261],_mm256_xor_si256(c2[129],_mm256_xor_si256(c2[129],_mm256_xor_si256(c2[5677],_mm256_xor_si256(c2[4086],_mm256_xor_si256(c2[9238],_mm256_xor_si256(c2[9634],_mm256_xor_si256(c2[6466],_mm256_xor_si256(c2[6482],_mm256_xor_si256(c2[12030],_mm256_xor_si256(c2[2131],_mm256_xor_si256(c2[7670],_mm256_xor_si256(c2[4502],_mm256_xor_si256(c2[9654],_mm256_xor_si256(c2[10050],_mm256_xor_si256(c2[1356],_mm256_xor_si256(c2[6895],_mm256_xor_si256(c2[10862],_mm256_xor_si256(c2[3730],_mm256_xor_si256(c2[2543],_mm256_xor_si256(c2[8082],_mm256_xor_si256(c2[8892],_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[3749],_mm256_xor_si256(c2[9288],_mm256_xor_si256(c2[6126],_mm256_xor_si256(c2[11269],_mm256_xor_si256(c2[11665],_mm256_xor_si256(c2[10502],_mm256_xor_si256(c2[3370],_mm256_xor_si256(c2[7730],_mm256_xor_si256(c2[598],_mm256_xor_si256(c2[3367],_mm256_xor_si256(c2[8519],_mm256_xor_si256(c2[8915],_mm256_xor_si256(c2[12098],_mm256_xor_si256(c2[4975],_mm256_xor_si256(c2[8537],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[12498],_mm256_xor_si256(c2[4970],_mm256_xor_si256(c2[5366],_mm256_xor_si256(c2[10142],_mm256_xor_si256(c2[3010],_mm256_xor_si256(c2[6577],_mm256_xor_si256(c2[12116],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[9343],_mm256_xor_si256(c2[9739],_mm256_xor_si256(c2[5803],_mm256_xor_si256(c2[11342],_mm256_xor_si256(c2[4611],_mm256_xor_si256(c2[10159],_mm256_xor_si256(c2[10160],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[3028],_mm256_xor_si256(c2[6213],_mm256_xor_si256(c2[11761],_mm256_xor_si256(c2[12150],_mm256_xor_si256(c2[5027],_mm256_xor_si256(c2[2651],_mm256_xor_si256(c2[8190],_mm256_xor_si256(c2[9000],_mm256_xor_si256(c2[1877],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[7421],_mm256_xor_si256(c2[9795],_mm256_xor_si256(c2[2276],_mm256_xor_si256(c2[2672],_mm256_xor_si256(c2[10206],_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[12188],_mm256_xor_si256(c2[5065],_mm256_xor_si256(c2[4663],_mm256_xor_si256(c2[9815],_mm256_xor_si256(c2[10211],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[7851],_mm256_xor_si256(c2[7852],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[2705],_mm256_xor_si256(c2[7848],_mm256_xor_si256(c2[8244],_mm256_xor_si256(c2[12224],_mm256_xor_si256(c2[5101],_mm256_xor_si256(c2[1135],_mm256_xor_si256(c2[6683],_mm256_xor_si256(c2[5888],_mm256_xor_si256(c2[11436],_mm256_xor_si256(c2[6307],_mm256_xor_si256(c2[11846],_mm256_xor_si256(c2[6699],_mm256_xor_si256(c2[12247],_mm256_xor_si256(c2[9476],_mm256_xor_si256(c2[1948],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[4738],_mm256_xor_si256(c2[10286],_mm256_xor_si256(c2[11870],_mm256_xor_si256(c2[4738],_mm256_xor_si256(c2[7514],_mm256_xor_si256(c2[12657],c2[382]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 32
|
||||
d2[288]=_mm256_xor_si256(c2[8714],_mm256_xor_si256(c2[8713],_mm256_xor_si256(c2[1588],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[11485],_mm256_xor_si256(c2[11881],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3584],_mm256_xor_si256(c2[3583],_mm256_xor_si256(c2[3979],_mm256_xor_si256(c2[7542],_mm256_xor_si256(c2[7938],_mm256_xor_si256(c2[12313],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[11918],_mm256_xor_si256(c2[12314],_mm256_xor_si256(c2[11539],_mm256_xor_si256(c2[849],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[3619],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[5624],_mm256_xor_si256(c2[6020],_mm256_xor_si256(c2[11972],_mm256_xor_si256(c2[1279],_mm256_xor_si256(c2[8409],_mm256_xor_si256(c2[8805],_mm256_xor_si256(c2[2885],_mm256_xor_si256(c2[4862],_mm256_xor_si256(c2[5258],_mm256_xor_si256(c2[8035],_mm256_xor_si256(c2[8431],_mm256_xor_si256(c2[6073],_mm256_xor_si256(c2[11216],_mm256_xor_si256(c2[11612],_mm256_xor_si256(c2[2502],_mm256_xor_si256(c2[2898],_mm256_xor_si256(c2[5294],_mm256_xor_si256(c2[547],_mm256_xor_si256(c2[943],_mm256_xor_si256(c2[2918],_mm256_xor_si256(c2[3314],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[9674],_mm256_xor_si256(c2[959],_mm256_xor_si256(c2[1355],_mm256_xor_si256(c2[7704],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[2561],_mm256_xor_si256(c2[4542],_mm256_xor_si256(c2[4938],_mm256_xor_si256(c2[9314],_mm256_xor_si256(c2[6542],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[2179],_mm256_xor_si256(c2[10910],_mm256_xor_si256(c2[7349],_mm256_xor_si256(c2[10914],_mm256_xor_si256(c2[11310],_mm256_xor_si256(c2[7746],_mm256_xor_si256(c2[8954],_mm256_xor_si256(c2[4993],_mm256_xor_si256(c2[5389],_mm256_xor_si256(c2[2616],_mm256_xor_si256(c2[3012],_mm256_xor_si256(c2[4615],_mm256_xor_si256(c2[3027],_mm256_xor_si256(c2[3423],_mm256_xor_si256(c2[8576],_mm256_xor_si256(c2[8972],_mm256_xor_si256(c2[1837],_mm256_xor_si256(c2[5025],_mm256_xor_si256(c2[10962],_mm256_xor_si256(c2[1067],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[7812],_mm256_xor_si256(c2[685],_mm256_xor_si256(c2[8211],_mm256_xor_si256(c2[8607],_mm256_xor_si256(c2[9018],_mm256_xor_si256(c2[10604],_mm256_xor_si256(c2[11000],_mm256_xor_si256(c2[3079],_mm256_xor_si256(c2[3475],_mm256_xor_si256(c2[1124],_mm256_xor_si256(c2[6268],_mm256_xor_si256(c2[6664],_mm256_xor_si256(c2[1121],_mm256_xor_si256(c2[1517],_mm256_xor_si256(c2[11036],_mm256_xor_si256(c2[12618],_mm256_xor_si256(c2[4304],_mm256_xor_si256(c2[4700],_mm256_xor_si256(c2[5119],_mm256_xor_si256(c2[5115],_mm256_xor_si256(c2[5511],_mm256_xor_si256(c2[7892],_mm256_xor_si256(c2[8288],_mm256_xor_si256(c2[3550],_mm256_xor_si256(c2[10682],_mm256_xor_si256(c2[5930],c2[6326])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 33
|
||||
d2[297]=_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[4952],c2[7506])));
|
||||
|
||||
//row: 34
|
||||
d2[306]=_mm256_xor_si256(c2[1986],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[5025],c2[306])));
|
||||
|
||||
//row: 35
|
||||
d2[315]=_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[3],_mm256_xor_si256(c2[5945],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[7545],_mm256_xor_si256(c2[7940],_mm256_xor_si256(c2[11899],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[3603],_mm256_xor_si256(c2[5978],_mm256_xor_si256(c2[3604],_mm256_xor_si256(c2[2829],_mm256_xor_si256(c2[4810],_mm256_xor_si256(c2[7580],_mm256_xor_si256(c2[5225],_mm256_xor_si256(c2[7201],_mm256_xor_si256(c2[9972],_mm256_xor_si256(c2[3262],_mm256_xor_si256(c2[5240],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[6846],_mm256_xor_si256(c2[9219],_mm256_xor_si256(c2[12392],_mm256_xor_si256(c2[8828],_mm256_xor_si256(c2[10034],_mm256_xor_si256(c2[2902],_mm256_xor_si256(c2[6859],_mm256_xor_si256(c2[9255],_mm256_xor_si256(c2[4904],_mm256_xor_si256(c2[7275],_mm256_xor_si256(c2[4129],_mm256_xor_si256(c2[955],_mm256_xor_si256(c2[5316],_mm256_xor_si256(c2[11665],_mm256_xor_si256(c2[6522],_mm256_xor_si256(c2[8899],_mm256_xor_si256(c2[595],_mm256_xor_si256(c2[10494],_mm256_xor_si256(c2[6140],_mm256_xor_si256(c2[2200],_mm256_xor_si256(c2[11310],_mm256_xor_si256(c2[2600],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[235],_mm256_xor_si256(c2[9350],_mm256_xor_si256(c2[6973],_mm256_xor_si256(c2[8576],_mm256_xor_si256(c2[7384],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[8986],_mm256_xor_si256(c2[2252],_mm256_xor_si256(c2[5424],_mm256_xor_si256(c2[11773],_mm256_xor_si256(c2[4646],_mm256_xor_si256(c2[12568],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[2290],_mm256_xor_si256(c2[7436],_mm256_xor_si256(c2[5076],_mm256_xor_si256(c2[10625],_mm256_xor_si256(c2[5478],_mm256_xor_si256(c2[2326],_mm256_xor_si256(c2[3908],_mm256_xor_si256(c2[8661],_mm256_xor_si256(c2[9080],_mm256_xor_si256(c2[9472],_mm256_xor_si256(c2[12240],_mm256_xor_si256(c2[7511],_mm256_xor_si256(c2[1963],c2[10278])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 36
|
||||
d2[324]=_mm256_xor_si256(c2[9510],_mm256_xor_si256(c2[6588],_mm256_xor_si256(c2[270],c2[324])));
|
||||
|
||||
//row: 37
|
||||
d2[333]=_mm256_xor_si256(c2[7530],_mm256_xor_si256(c2[7926],_mm256_xor_si256(c2[7925],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[11093],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[7150],_mm256_xor_si256(c2[3188],_mm256_xor_si256(c2[11129],_mm256_xor_si256(c2[11525],_mm256_xor_si256(c2[1229],_mm256_xor_si256(c2[11526],_mm256_xor_si256(c2[10355],_mm256_xor_si256(c2[10751],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[476],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[5223],_mm256_xor_si256(c2[10788],_mm256_xor_si256(c2[11184],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[8017],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[4470],_mm256_xor_si256(c2[7634],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[10824],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[4506],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[2526],_mm256_xor_si256(c2[11646],_mm256_xor_si256(c2[12042],_mm256_xor_si256(c2[8877],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[6520],_mm256_xor_si256(c2[6916],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[8121],_mm256_xor_si256(c2[8517],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[9726],_mm256_xor_si256(c2[10122],_mm256_xor_si256(c2[6552],_mm256_xor_si256(c2[10513],_mm256_xor_si256(c2[7761],_mm256_xor_si256(c2[8157],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[6574],_mm256_xor_si256(c2[3818],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[8175],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[4237],_mm256_xor_si256(c2[10174],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[7024],_mm256_xor_si256(c2[12568],_mm256_xor_si256(c2[7819],_mm256_xor_si256(c2[8230],_mm256_xor_si256(c2[10212],_mm256_xor_si256(c2[2687],_mm256_xor_si256(c2[12602],_mm256_xor_si256(c2[327],_mm256_xor_si256(c2[5876],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[9852],_mm256_xor_si256(c2[10248],_mm256_xor_si256(c2[11830],_mm256_xor_si256(c2[3912],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[4322],_mm256_xor_si256(c2[4723],_mm256_xor_si256(c2[7491],_mm256_xor_si256(c2[2366],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[9885],c2[5529])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 38
|
||||
d2[342]=_mm256_xor_si256(c2[11885],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[180],c2[216])));
|
||||
|
||||
//row: 39
|
||||
d2[351]=_mm256_xor_si256(c2[9922],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[2111],c2[8661])));
|
||||
|
||||
//row: 40
|
||||
d2[360]=_mm256_xor_si256(c2[9510],_mm256_xor_si256(c2[6484],c2[1098]));
|
||||
|
||||
//row: 41
|
||||
d2[369]=_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[162],c2[9437])));
|
||||
|
||||
//row: 42
|
||||
d2[378]=_mm256_xor_si256(c2[9115],_mm256_xor_si256(c2[9114],_mm256_xor_si256(c2[1980],_mm256_xor_si256(c2[2376],_mm256_xor_si256(c2[11886],_mm256_xor_si256(c2[12282],_mm256_xor_si256(c2[10692],_mm256_xor_si256(c2[3985],_mm256_xor_si256(c2[3984],_mm256_xor_si256(c2[4380],_mm256_xor_si256(c2[7943],_mm256_xor_si256(c2[8339],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[2418],_mm256_xor_si256(c2[12319],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[11940],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[3624],_mm256_xor_si256(c2[4020],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[3245],_mm256_xor_si256(c2[3641],_mm256_xor_si256(c2[6016],_mm256_xor_si256(c2[6412],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[12373],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[8810],_mm256_xor_si256(c2[9206],_mm256_xor_si256(c2[3277],_mm256_xor_si256(c2[5263],_mm256_xor_si256(c2[5659],_mm256_xor_si256(c2[8427],_mm256_xor_si256(c2[8823],_mm256_xor_si256(c2[6465],_mm256_xor_si256(c2[11617],_mm256_xor_si256(c2[12013],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[3299],_mm256_xor_si256(c2[5695],_mm256_xor_si256(c2[939],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[3319],_mm256_xor_si256(c2[3715],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[10066],_mm256_xor_si256(c2[1351],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[8105],_mm256_xor_si256(c2[2557],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[5330],_mm256_xor_si256(c2[9706],_mm256_xor_si256(c2[6934],_mm256_xor_si256(c2[2184],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[11311],_mm256_xor_si256(c2[7741],_mm256_xor_si256(c2[11306],_mm256_xor_si256(c2[11702],_mm256_xor_si256(c2[9346],_mm256_xor_si256(c2[5385],_mm256_xor_si256(c2[5781],_mm256_xor_si256(c2[3008],_mm256_xor_si256(c2[3404],_mm256_xor_si256(c2[5007],_mm256_xor_si256(c2[3428],_mm256_xor_si256(c2[3824],_mm256_xor_si256(c2[8968],_mm256_xor_si256(c2[9364],_mm256_xor_si256(c2[5426],_mm256_xor_si256(c2[11363],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[1855],_mm256_xor_si256(c2[8213],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[8612],_mm256_xor_si256(c2[9008],_mm256_xor_si256(c2[9419],_mm256_xor_si256(c2[11005],_mm256_xor_si256(c2[11401],_mm256_xor_si256(c2[3480],_mm256_xor_si256(c2[3876],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[6660],_mm256_xor_si256(c2[7056],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1909],_mm256_xor_si256(c2[11437],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[4705],_mm256_xor_si256(c2[5101],_mm256_xor_si256(c2[5511],_mm256_xor_si256(c2[5516],_mm256_xor_si256(c2[5912],_mm256_xor_si256(c2[8284],_mm256_xor_si256(c2[8680],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[11074],_mm256_xor_si256(c2[6322],c2[6718]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 43
|
||||
d2[387]=_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[797],_mm256_xor_si256(c2[6739],_mm256_xor_si256(c2[3569],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[8339],_mm256_xor_si256(c2[8734],_mm256_xor_si256(c2[12297],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[7939],_mm256_xor_si256(c2[4397],_mm256_xor_si256(c2[6772],_mm256_xor_si256(c2[4398],_mm256_xor_si256(c2[3623],_mm256_xor_si256(c2[5604],_mm256_xor_si256(c2[7978],_mm256_xor_si256(c2[8374],_mm256_xor_si256(c2[6019],_mm256_xor_si256(c2[7995],_mm256_xor_si256(c2[10370],_mm256_xor_si256(c2[10766],_mm256_xor_si256(c2[4056],_mm256_xor_si256(c2[6034],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[7640],_mm256_xor_si256(c2[10013],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[10819],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[7257],_mm256_xor_si256(c2[7653],_mm256_xor_si256(c2[10049],_mm256_xor_si256(c2[5689],_mm256_xor_si256(c2[7673],_mm256_xor_si256(c2[8069],_mm256_xor_si256(c2[4914],_mm256_xor_si256(c2[1749],_mm256_xor_si256(c2[6110],_mm256_xor_si256(c2[12459],_mm256_xor_si256(c2[7316],_mm256_xor_si256(c2[9288],_mm256_xor_si256(c2[9684],_mm256_xor_si256(c2[1389],_mm256_xor_si256(c2[11288],_mm256_xor_si256(c2[6538],_mm256_xor_si256(c2[6934],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[12104],_mm256_xor_si256(c2[2989],_mm256_xor_si256(c2[3385],_mm256_xor_si256(c2[1029],_mm256_xor_si256(c2[10135],_mm256_xor_si256(c2[7362],_mm256_xor_si256(c2[7758],_mm256_xor_si256(c2[9361],_mm256_xor_si256(c2[8178],_mm256_xor_si256(c2[651],_mm256_xor_si256(c2[1047],_mm256_xor_si256(c2[9780],_mm256_xor_si256(c2[3046],_mm256_xor_si256(c2[6218],_mm256_xor_si256(c2[12567],_mm256_xor_si256(c2[5440],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[7819],_mm256_xor_si256(c2[1102],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[7834],_mm256_xor_si256(c2[8230],_mm256_xor_si256(c2[5870],_mm256_xor_si256(c2[11419],_mm256_xor_si256(c2[5876],_mm256_xor_si256(c2[6272],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[4702],_mm256_xor_si256(c2[9455],_mm256_xor_si256(c2[9865],_mm256_xor_si256(c2[10266],_mm256_xor_si256(c2[12638],_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[8305],_mm256_xor_si256(c2[2757],_mm256_xor_si256(c2[10676],c2[11072]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 44
|
||||
d2[396]=_mm256_xor_si256(c2[4760],_mm256_xor_si256(c2[4759],_mm256_xor_si256(c2[10692],_mm256_xor_si256(c2[7927],_mm256_xor_si256(c2[7128],_mm256_xor_si256(c2[12301],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[3984],_mm256_xor_si256(c2[8359],_mm256_xor_si256(c2[10734],_mm256_xor_si256(c2[8360],_mm256_xor_si256(c2[7585],_mm256_xor_si256(c2[9566],_mm256_xor_si256(c2[12336],_mm256_xor_si256(c2[9972],_mm256_xor_si256(c2[11957],_mm256_xor_si256(c2[2057],_mm256_xor_si256(c2[8018],_mm256_xor_si256(c2[9996],_mm256_xor_si256(c2[4842],_mm256_xor_si256(c2[11593],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[4468],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[7658],_mm256_xor_si256(c2[11615],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[1340],_mm256_xor_si256(c2[9651],_mm256_xor_si256(c2[12031],_mm256_xor_si256(c2[8876],_mm256_xor_si256(c2[5711],_mm256_xor_si256(c2[10063],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[3750],_mm256_xor_si256(c2[11269],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[5351],_mm256_xor_si256(c2[2579],_mm256_xor_si256(c2[10896],_mm256_xor_si256(c2[6956],_mm256_xor_si256(c2[3386],_mm256_xor_si256(c2[7347],_mm256_xor_si256(c2[4991],_mm256_xor_si256(c2[1426],_mm256_xor_si256(c2[11720],_mm256_xor_si256(c2[652],_mm256_xor_si256(c2[12140],_mm256_xor_si256(c2[5009],_mm256_xor_si256(c2[1062],_mm256_xor_si256(c2[7008],_mm256_xor_si256(c2[10171],_mm256_xor_si256(c2[3858],_mm256_xor_si256(c2[9402],_mm256_xor_si256(c2[4644],_mm256_xor_si256(c2[5064],_mm256_xor_si256(c2[7046],_mm256_xor_si256(c2[12192],_mm256_xor_si256(c2[9832],_mm256_xor_si256(c2[2701],_mm256_xor_si256(c2[10225],_mm256_xor_si256(c2[7082],_mm256_xor_si256(c2[8664],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[1156],_mm256_xor_si256(c2[1548],_mm256_xor_si256(c2[4325],_mm256_xor_si256(c2[12258],_mm256_xor_si256(c2[6719],c2[2363])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 45
|
||||
d2[405]=_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[108],c2[6520]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user