140 lines
39 KiB
C
140 lines
39 KiB
C
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=160, byte encoding
|
|
static inline void ldpc_BG2_Zc160_byte(uint8_t *c,uint8_t *d) {
|
|
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
|
|
|
|
__m256i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<5; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[5]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[10]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2462],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[15]=_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[611],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1520],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1854],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2571],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2181],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[1491],c2[1391]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[20]=_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[1600],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2914],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[2612],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[2934],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[2433],_mm256_xor_si256(c2[3132],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[243],_mm256_xor_si256(c2[2854],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[2964],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[2062],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[2874],_mm256_xor_si256(c2[2171],_mm256_xor_si256(c2[2884],_mm256_xor_si256(c2[883],_mm256_xor_si256(c2[1781],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[2894],_mm256_xor_si256(c2[1991],c2[1091]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[25]=_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[801],_mm256_xor_si256(c2[1902],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[2914],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[3121],_mm256_xor_si256(c2[1422],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[3131],_mm256_xor_si256(c2[2730],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[1751],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[3161],_mm256_xor_si256(c2[2364],_mm256_xor_si256(c2[1162],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[2473],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[3181],_mm256_xor_si256(c2[1180],_mm256_xor_si256(c2[2083],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[2293],c2[1393]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[30]=_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[2803],_mm256_xor_si256(c2[700],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2014],_mm256_xor_si256(c2[1914],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[2510],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[1934],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[1944],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2542],_mm256_xor_si256(c2[1954],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[2853],_mm256_xor_si256(c2[2064],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[1162],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[1974],_mm256_xor_si256(c2[1271],_mm256_xor_si256(c2[373],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[3182],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[2094],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[1091],_mm256_xor_si256(c2[191],c2[1391]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[35]=_mm256_xor_si256(c2[3],_mm256_xor_si256(c2[3102],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[1903],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[13],_mm256_xor_si256(c2[3112],_mm256_xor_si256(c2[1312],_mm256_xor_si256(c2[2910],_mm256_xor_si256(c2[1110],_mm256_xor_si256(c2[514],_mm256_xor_si256(c2[2013],_mm256_xor_si256(c2[1913],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[23],_mm256_xor_si256(c2[3122],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1423],_mm256_xor_si256(c2[2922],_mm256_xor_si256(c2[2822],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[3132],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[2731],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[231],_mm256_xor_si256(c2[1630],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[1342],_mm256_xor_si256(c2[843],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[1352],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[1351],_mm256_xor_si256(c2[63],_mm256_xor_si256(c2[3162],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[3172],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[2474],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[2074],_mm256_xor_si256(c2[3182],_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[1181],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[2084],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[93],_mm256_xor_si256(c2[3192],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[2893],c2[2793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[40]=_mm256_xor_si256(c2[2302],_mm256_xor_si256(c2[2202],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[1003],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[2212],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[2813],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[2222],_mm256_xor_si256(c2[523],_mm256_xor_si256(c2[2332],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[1931],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[2530],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[2252],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[2262],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1460],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[2372],_mm256_xor_si256(c2[2272],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[281],_mm256_xor_si256(c2[1184],_mm256_xor_si256(c2[2392],_mm256_xor_si256(c2[2292],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[1394],c2[494]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[45]=_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[2700],_mm256_xor_si256(c2[2901],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[803],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[2112],_mm256_xor_si256(c2[2012],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[2412],_mm256_xor_si256(c2[2613],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[2122],_mm256_xor_si256(c2[2022],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[323],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[2032],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[1631],_mm256_xor_si256(c2[2134],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[2942],_mm256_xor_si256(c2[2444],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[2052],_mm256_xor_si256(c2[451],_mm256_xor_si256(c2[652],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[2062],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[3061],_mm256_xor_si256(c2[63],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[1173],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[1881],_mm256_xor_si256(c2[2082],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[1891],_mm256_xor_si256(c2[2192],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[993],_mm256_xor_si256(c2[1194],_mm256_xor_si256(c2[93],c2[294])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[50]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[2864],c2[2070])));
|
|
|
|
//row: 11
|
|
d2[55]=_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[2100],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[3112],_mm256_xor_si256(c2[811],_mm256_xor_si256(c2[711],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[1720],_mm256_xor_si256(c2[1620],_mm256_xor_si256(c2[130],_mm256_xor_si256(c2[2933],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[843],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[2054],_mm256_xor_si256(c2[1954],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[1460],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[2771],_mm256_xor_si256(c2[2671],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[1383],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[2281],_mm256_xor_si256(c2[190],_mm256_xor_si256(c2[2491],_mm256_xor_si256(c2[1691],_mm256_xor_si256(c2[1591],c2[490])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[60]=_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1511],_mm256_xor_si256(c2[1314],_mm256_xor_si256(c2[2112],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[3021],_mm256_xor_si256(c2[1631],_mm256_xor_si256(c2[1531],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[1834],_mm256_xor_si256(c2[1733],_mm256_xor_si256(c2[1541],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[2144],_mm256_xor_si256(c2[1551],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[1661],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[2761],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[873],_mm256_xor_si256(c2[1581],_mm256_xor_si256(c2[2784],_mm256_xor_si256(c2[483],_mm256_xor_si256(c2[1691],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[693],c2[2992]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[65]=_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2510],_mm256_xor_si256(c2[2313],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[2520],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[821],_mm256_xor_si256(c2[2530],_mm256_xor_si256(c2[2134],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[2540],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[3143],_mm256_xor_si256(c2[2550],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[1150],_mm256_xor_si256(c2[2560],_mm256_xor_si256(c2[1763],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[2570],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[584],_mm256_xor_si256(c2[1582],_mm256_xor_si256(c2[1482],_mm256_xor_si256(c2[683],_mm256_xor_si256(c2[2590],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[892],c2[792])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[70]=_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[2401],_mm256_xor_si256(c2[2600],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1401],_mm256_xor_si256(c2[2511],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[2610],_mm256_xor_si256(c2[2214],_mm256_xor_si256(c2[2413],_mm256_xor_si256(c2[3012],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[2421],_mm256_xor_si256(c2[2620],_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[2531],_mm256_xor_si256(c2[2431],_mm256_xor_si256(c2[2630],_mm256_xor_si256(c2[2030],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[2734],_mm256_xor_si256(c2[2933],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[142],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[2650],_mm256_xor_si256(c2[1051],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[2561],_mm256_xor_si256(c2[2461],_mm256_xor_si256(c2[2660],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[1863],_mm256_xor_si256(c2[462],_mm256_xor_si256(c2[761],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[2670],_mm256_xor_si256(c2[1773],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[2481],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[1383],_mm256_xor_si256(c2[1682],_mm256_xor_si256(c2[1582],_mm256_xor_si256(c2[2591],_mm256_xor_si256(c2[2491],_mm256_xor_si256(c2[2690],_mm256_xor_si256(c2[1593],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[693],_mm256_xor_si256(c2[992],c2[892])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[75]=_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[303],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[1701],_mm256_xor_si256(c2[1102],_mm256_xor_si256(c2[2802],_mm256_xor_si256(c2[2203],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[213],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[11],_mm256_xor_si256(c2[1413],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[822],_mm256_xor_si256(c2[323],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[333],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[431],_mm256_xor_si256(c2[3031],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[531],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[243],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1143],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[2651],_mm256_xor_si256(c2[2052],_mm256_xor_si256(c2[862],_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[2660],_mm256_xor_si256(c2[2062],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[273],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[283],_mm256_xor_si256(c2[2080],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[2384],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[393],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[3193],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[2293],c2[1694]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[80]=_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[1403],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[2302],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[2303],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1413],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[1414],_mm256_xor_si256(c2[1211],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[2014],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1523],_mm256_xor_si256(c2[1423],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[2923],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1032],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[1554],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[53],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[1564],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[2663],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[1473],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[1483],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[2681],_mm256_xor_si256(c2[2682],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[1593],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[1594],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[591],_mm256_xor_si256(c2[2894],_mm256_xor_si256(c2[2890],c2[1592])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[85]=_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[2604],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[501],_mm256_xor_si256(c2[1313],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[1011],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1814],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1323],_mm256_xor_si256(c2[1223],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1720],_mm256_xor_si256(c2[2723],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[1233],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[1531],_mm256_xor_si256(c2[2033],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[1740],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[1253],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1750],_mm256_xor_si256(c2[3052],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[1263],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[461],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[963],_mm256_xor_si256(c2[2463],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[1273],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[570],_mm256_xor_si256(c2[1072],_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[2481],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[682],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1293],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[1790],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[2694],c2[3191])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[90]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1860],c2[2272]));
|
|
|
|
//row: 19
|
|
d2[95]=_mm256_xor_si256(c2[2504],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[1300],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2514],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[3110],_mm256_xor_si256(c2[3014],_mm256_xor_si256(c2[2524],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[2544],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[2554],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[2564],_mm256_xor_si256(c2[1762],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[2574],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[2584],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[1691],c2[791]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[100]=_mm256_xor_si256(c2[803],_mm256_xor_si256(c2[703],_mm256_xor_si256(c2[1602],_mm256_xor_si256(c2[2703],_mm256_xor_si256(c2[813],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[1314],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[823],_mm256_xor_si256(c2[723],_mm256_xor_si256(c2[2223],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[1031],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[1643],_mm256_xor_si256(c2[1341],_mm256_xor_si256(c2[2044],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[2552],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[763],_mm256_xor_si256(c2[3160],_mm256_xor_si256(c2[1963],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[1981],_mm256_xor_si256(c2[2884],_mm256_xor_si256(c2[893],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[3094],c2[2194]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[105]=_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[2001],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[11],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[334],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[941],_mm256_xor_si256(c2[744],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[51],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[2463],_mm256_xor_si256(c2[1361],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[71],_mm256_xor_si256(c2[2672],_mm256_xor_si256(c2[2572],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[2182],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[91],_mm256_xor_si256(c2[2392],_mm256_xor_si256(c2[1592],c2[1492]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[110]=_mm256_xor_si256(c2[10],c2[420]);
|
|
|
|
//row: 23
|
|
d2[115]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1132],c2[3054]));
|
|
|
|
//row: 24
|
|
d2[120]=_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[522],c2[2392]));
|
|
|
|
//row: 25
|
|
d2[125]=_mm256_xor_si256(c2[0],c2[152]);
|
|
|
|
//row: 26
|
|
d2[130]=_mm256_xor_si256(c2[1300],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[2204],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[2600],_mm256_xor_si256(c2[1310],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[413],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[1311],_mm256_xor_si256(c2[1211],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[2220],_mm256_xor_si256(c2[2120],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[934],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[1340],_mm256_xor_si256(c2[1240],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[1540],_mm256_xor_si256(c2[1843],_mm256_xor_si256(c2[1343],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[2554],_mm256_xor_si256(c2[2454],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[2460],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[1270],_mm256_xor_si256(c2[670],_mm256_xor_si256(c2[572],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[1380],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[680],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[1883],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[2881],_mm256_xor_si256(c2[2781],_mm256_xor_si256(c2[1390],_mm256_xor_si256(c2[1290],_mm256_xor_si256(c2[690],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[2991],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[2191],c2[2091])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[135]=_mm256_xor_si256(c2[0],c2[61]);
|
|
|
|
//row: 28
|
|
d2[140]=_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[3023],c2[1453]));
|
|
|
|
//row: 29
|
|
d2[145]=_mm256_xor_si256(c2[0],c2[2644]);
|
|
|
|
//row: 30
|
|
d2[150]=_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[351],_mm256_xor_si256(c2[1971],c2[694])));
|
|
|
|
//row: 31
|
|
d2[155]=_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1713],_mm256_xor_si256(c2[2611],_mm256_xor_si256(c2[2511],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[2233],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[2543],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[3160],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[1272],_mm256_xor_si256(c2[1980],_mm256_xor_si256(c2[3183],_mm256_xor_si256(c2[982],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[292],c2[192])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[160]=_mm256_xor_si256(c2[2603],_mm256_xor_si256(c2[2503],_mm256_xor_si256(c2[303],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2613],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2623],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[2633],_mm256_xor_si256(c2[2533],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[2543],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[2653],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[2663],_mm256_xor_si256(c2[2563],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1761],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[2673],_mm256_xor_si256(c2[2573],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[2683],_mm256_xor_si256(c2[2583],_mm256_xor_si256(c2[582],_mm256_xor_si256(c2[1480],_mm256_xor_si256(c2[2693],_mm256_xor_si256(c2[2593],_mm256_xor_si256(c2[1790],_mm256_xor_si256(c2[1690],c2[790]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[165]=_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[1240],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[1843],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[2460],_mm256_xor_si256(c2[1270],_mm256_xor_si256(c2[572],_mm256_xor_si256(c2[2472],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[1290],_mm256_xor_si256(c2[392],c2[2691]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[170]=_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[1312],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[1110],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[2013],_mm256_xor_si256(c2[1913],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[2922],_mm256_xor_si256(c2[2822],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[1630],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[1342],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[2443],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1352],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[3060],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[1980],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[2893],c2[2793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[175]=_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[1111],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[520],_mm256_xor_si256(c2[2020],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1143],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[2354],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[2962],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[570],_mm256_xor_si256(c2[3071],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[2681],_mm256_xor_si256(c2[690],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[2891],c2[1991]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[180]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3121],c2[1872]));
|
|
|
|
//row: 37
|
|
d2[185]=_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[1312],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[2210],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[1832],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[2444],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[2142],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1554],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[1564],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[871],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2782],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[581],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[1594],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[3090],c2[2990])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[190]=_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2443],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[2952],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[3060],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[992],c2[92]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[195]=_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[1903],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[1510],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[2424],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[934],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[1044],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[1844],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[1054],_mm256_xor_si256(c2[954],_mm256_xor_si256(c2[2753],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[964],_mm256_xor_si256(c2[262],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[2164],_mm256_xor_si256(c2[1074],_mm256_xor_si256(c2[974],_mm256_xor_si256(c2[271],_mm256_xor_si256(c2[2470],_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[2182],_mm256_xor_si256(c2[3080],_mm256_xor_si256(c2[1094],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[191],_mm256_xor_si256(c2[91],c2[2390]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[200]=_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2303],_mm256_xor_si256(c2[2301],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[311],_mm256_xor_si256(c2[1414],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[912],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[331],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[1241],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[2142],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[351],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[2150],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[2763],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[371],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[871],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[2682],_mm256_xor_si256(c2[2482],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[391],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[2692],_mm256_xor_si256(c2[591],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[2990],c2[2890]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[205]=_mm256_xor_si256(c2[2301],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[3100],_mm256_xor_si256(c2[1002],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[2211],_mm256_xor_si256(c2[2014],_mm256_xor_si256(c2[2812],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[2321],_mm256_xor_si256(c2[2221],_mm256_xor_si256(c2[522],_mm256_xor_si256(c2[2331],_mm256_xor_si256(c2[2231],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[2241],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2251],_mm256_xor_si256(c2[851],_mm256_xor_si256(c2[250],_mm256_xor_si256(c2[2361],_mm256_xor_si256(c2[2261],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[262],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[2281],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[1393],c2[493]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|