140 lines
39 KiB
C
140 lines
39 KiB
C
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=96, byte encoding
|
|
static inline void ldpc_BG2_Zc96_byte(uint8_t *c,uint8_t *d) {
|
|
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
|
|
|
|
__m256i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<3; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[174],c2[1556]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[3]=_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[458],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[174],c2[1556]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[6]=_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1620],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[458],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[174],c2[1556]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[9]=_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1044],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1728],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[1616],c2[1556]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[12]=_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[1806],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[847],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1039],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[1422],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[1308],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[594],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[1914],c2[1374]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[15]=_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[1740],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1027],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[727],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1272],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[1098],_mm256_xor_si256(c2[1038],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[1765],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[1530],_mm256_xor_si256(c2[1416],_mm256_xor_si256(c2[1356],_mm256_xor_si256(c2[878],_mm256_xor_si256(c2[638],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[1734],_mm256_xor_si256(c2[1674],_mm256_xor_si256(c2[1135],c2[595]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[18]=_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[1508],_mm256_xor_si256(c2[1448],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[1813],_mm256_xor_si256(c2[1753],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[1579],_mm256_xor_si256(c2[1519],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[738],_mm256_xor_si256(c2[445],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[1891],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1837],_mm256_xor_si256(c2[1356],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[1124],_mm256_xor_si256(c2[822],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[1188],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[1616],_mm256_xor_si256(c2[1076],c2[1075]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[21]=_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[542],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[422],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[907],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[968],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[440],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[559],_mm256_xor_si256(c2[1100],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1164],_mm256_xor_si256(c2[1705],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[1885],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[1592],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[758],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[277],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[638],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[1662],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[1002],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1076],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[1075],_mm256_xor_si256(c2[1916],_mm256_xor_si256(c2[595],c2[535]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[24]=_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[1868],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[373],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[1640],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[1171],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1118],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[1190],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[235],_mm256_xor_si256(c2[1675],_mm256_xor_si256(c2[1615],c2[1075]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[27]=_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1140],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[1020],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1508],_mm256_xor_si256(c2[1148],_mm256_xor_si256(c2[1088],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[7],_mm256_xor_si256(c2[1506],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1813],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[1579],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[1531],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1416],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[1184],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[462],_mm256_xor_si256(c2[1070],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[828],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[1855],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[1676],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[1136],c2[716])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[30]=_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[486],_mm256_xor_si256(c2[1356],c2[1243])));
|
|
|
|
//row: 11
|
|
d2[33]=_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[446],_mm256_xor_si256(c2[686],_mm256_xor_si256(c2[626],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[91],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[1724],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[1310],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[1255],_mm256_xor_si256(c2[1195],c2[896])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[36]=_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1087],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[974],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[1112],_mm256_xor_si256(c2[1118],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[1728],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[1436],_mm256_xor_si256(c2[1376],_mm256_xor_si256(c2[834],c2[294]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[39]=_mm256_xor_si256(c2[1141],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[846],_mm256_xor_si256(c2[786],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[1273],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[439],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[1580],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[1406],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[871],_mm256_xor_si256(c2[811],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[1724],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[1075],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[56],c2[1915])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[42]=_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[781],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1326],_mm256_xor_si256(c2[1266],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[367],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[1687],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[1146],_mm256_xor_si256(c2[1634],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[1093],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[1340],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[559],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[990],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[1718],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[1177],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[1356],_mm256_xor_si256(c2[942],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[828],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[895],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[894],_mm256_xor_si256(c2[1795],c2[1735])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[45]=_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[1867],_mm256_xor_si256(c2[1088],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[968],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[1446],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[19],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1099],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[391],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[1538],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[1244],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[655],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[1495],c2[656]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[48]=_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[781],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1562],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[848],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[373],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[1272],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[498],_mm256_xor_si256(c2[139],_mm256_xor_si256(c2[79],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[1639],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[1225],_mm256_xor_si256(c2[806],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[1711],_mm256_xor_si256(c2[1651],_mm256_xor_si256(c2[870],_mm256_xor_si256(c2[451],_mm256_xor_si256(c2[876],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[1898],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[1663],_mm256_xor_si256(c2[1603],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[1908],_mm256_xor_si256(c2[1549],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[1070],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[1670],_mm256_xor_si256(c2[1194],_mm256_xor_si256(c2[1134],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[595],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[55],_mm256_xor_si256(c2[1555],c2[1076])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[51]=_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[1807],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[680],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[440],_mm256_xor_si256(c2[739],_mm256_xor_si256(c2[619],_mm256_xor_si256(c2[559],_mm256_xor_si256(c2[1758],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1465],_mm256_xor_si256(c2[1345],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[1164],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[938],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[758],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[277],_mm256_xor_si256(c2[217],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[1842],_mm256_xor_si256(c2[1662],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1608],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[1316],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1076],_mm256_xor_si256(c2[714],_mm256_xor_si256(c2[594],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[174],c2[1916])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[54]=_mm256_xor_si256(c2[1562],_mm256_xor_si256(c2[396],c2[883]));
|
|
|
|
//row: 19
|
|
d2[57]=_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[1687],_mm256_xor_si256(c2[788],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[607],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[1758],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[980],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[830],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[475],_mm256_xor_si256(c2[1855],c2[1315]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[60]=_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[1765],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[884],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[1675],c2[1135]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[63]=_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1741],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[1093],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[950],_mm256_xor_si256(c2[895],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[1795],c2[1735]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[66]=_mm256_xor_si256(c2[1206],c2[1213]);
|
|
|
|
//row: 23
|
|
d2[69]=_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1340],c2[1892]));
|
|
|
|
//row: 24
|
|
d2[72]=_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[1513],c2[56]));
|
|
|
|
//row: 25
|
|
d2[75]=_mm256_xor_si256(c2[781],c2[1290]);
|
|
|
|
//row: 26
|
|
d2[78]=_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[780],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[1387],_mm256_xor_si256(c2[1268],_mm256_xor_si256(c2[488],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[1808],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[1458],_mm256_xor_si256(c2[1339],_mm256_xor_si256(c2[1640],_mm256_xor_si256(c2[1580],_mm256_xor_si256(c2[1458],_mm256_xor_si256(c2[680],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[446],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[1171],_mm256_xor_si256(c2[1111],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1771],_mm256_xor_si256(c2[1711],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1776],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[830],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[235],_mm256_xor_si256(c2[175],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[1615],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[1436],_mm256_xor_si256(c2[1015],_mm256_xor_si256(c2[956],c2[896])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[81]=_mm256_xor_si256(c2[420],c2[1117]);
|
|
|
|
//row: 28
|
|
d2[84]=_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[912],c2[512]));
|
|
|
|
//row: 29
|
|
d2[87]=_mm256_xor_si256(c2[840],c2[1044]);
|
|
|
|
//row: 30
|
|
d2[90]=_mm256_xor_si256(c2[1452],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[1243],c2[1495])));
|
|
|
|
//row: 31
|
|
d2[93]=_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[1628],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[679],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1406],_mm256_xor_si256(c2[1646],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[1111],_mm256_xor_si256(c2[1051],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[516],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[1670],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[1315],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[296],c2[236])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[96]=_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[1874],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[1100],_mm256_xor_si256(c2[1279],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[319],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[1824],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[750],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[697],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[169],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[1736],_mm256_xor_si256(c2[1254],_mm256_xor_si256(c2[1194],c2[654]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[99]=_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1879],_mm256_xor_si256(c2[979],_mm256_xor_si256(c2[686],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[745],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[1357],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[1184],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[474],_mm256_xor_si256(c2[1854],c2[1314]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[102]=_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1088],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[1446],_mm256_xor_si256(c2[1207],_mm256_xor_si256(c2[1147],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[1634],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1099],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[919],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[19],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[1645],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[1704],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[1118],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[637],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[163],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[1436],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[894],_mm256_xor_si256(c2[656],_mm256_xor_si256(c2[414],c2[354]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[105]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[1146],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[187],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[788],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[1279],_mm256_xor_si256(c2[379],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[1884],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[1532],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[1538],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[1856],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[1254],c2[714]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[108]=_mm256_xor_si256(c2[1500],_mm256_xor_si256(c2[1393],c2[644]));
|
|
|
|
//row: 37
|
|
d2[111]=_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[1741],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[307],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[1327],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[428],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[1152],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[1519],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[1105],_mm256_xor_si256(c2[745],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[1590],_mm256_xor_si256(c2[750],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[1777],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[1902],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[1603],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[1369],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[1609],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[654],_mm256_xor_si256(c2[475],_mm256_xor_si256(c2[115],_mm256_xor_si256(c2[1854],_mm256_xor_si256(c2[1554],c2[1494])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[114]=_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1868],_mm256_xor_si256(c2[1808],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[307],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1879],_mm256_xor_si256(c2[79],_mm256_xor_si256(c2[1098],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[1532],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[1716],_mm256_xor_si256(c2[1476],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[1182],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[948],_mm256_xor_si256(c2[1548],_mm256_xor_si256(c2[656],_mm256_xor_si256(c2[596],_mm256_xor_si256(c2[54],c2[1436]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[117]=_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[884],_mm256_xor_si256(c2[283],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[1675],c2[1135]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[120]=_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[1087],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[974],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[1093],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[432],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1112],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[1728],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1376],_mm256_xor_si256(c2[895],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[1795],c2[1735]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[123]=_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[1687],_mm256_xor_si256(c2[788],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[1147],_mm256_xor_si256(c2[133],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[1818],_mm256_xor_si256(c2[1758],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[980],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[217],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[830],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[475],_mm256_xor_si256(c2[1855],c2[1315]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|