140 lines
39 KiB
C
140 lines
39 KiB
C
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=224, byte encoding
|
|
static inline void ldpc_BG2_Zc224_byte(uint8_t *c,uint8_t *d) {
|
|
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
|
|
|
|
__m256i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<7; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[2941],_mm256_xor_si256(c2[3364],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[438],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[2003],_mm256_xor_si256(c2[2719],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[3994],_mm256_xor_si256(c2[3993],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[2747],_mm256_xor_si256(c2[4007],_mm256_xor_si256(c2[1224],_mm256_xor_si256(c2[2061],_mm256_xor_si256(c2[4172],_mm256_xor_si256(c2[3894],_mm256_xor_si256(c2[4036],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[4466],c2[830]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[7]=_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[3659],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[4134],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[4147],_mm256_xor_si256(c2[1364],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[127],c2[970]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[14]=_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[2941],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[3659],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2719],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[3994],_mm256_xor_si256(c2[4134],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[2747],_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[4147],_mm256_xor_si256(c2[1224],_mm256_xor_si256(c2[1364],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[4172],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[4466],_mm256_xor_si256(c2[127],c2[970]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[21]=_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3659],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[4134],_mm256_xor_si256(c2[3993],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[4007],_mm256_xor_si256(c2[4147],_mm256_xor_si256(c2[1364],_mm256_xor_si256(c2[2061],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[4036],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[830],c2[970]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[28]=_mm256_xor_si256(c2[1825],_mm256_xor_si256(c2[1965],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[1126],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[1274],_mm256_xor_si256(c2[4355],_mm256_xor_si256(c2[2254],_mm256_xor_si256(c2[3951],_mm256_xor_si256(c2[4091],_mm256_xor_si256(c2[1711],_mm256_xor_si256(c2[3683],_mm256_xor_si256(c2[3823],_mm256_xor_si256(c2[323],_mm256_xor_si256(c2[2846],_mm256_xor_si256(c2[3562],_mm256_xor_si256(c2[758],_mm256_xor_si256(c2[1460],_mm256_xor_si256(c2[351],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[2060],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[393],_mm256_xor_si256(c2[1949],_mm256_xor_si256(c2[2089],_mm256_xor_si256(c2[830],c2[1666]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[35]=_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[1401],_mm256_xor_si256(c2[3220],_mm256_xor_si256(c2[3643],_mm256_xor_si256(c2[3505],_mm256_xor_si256(c2[2116],_mm256_xor_si256(c2[2256],_mm256_xor_si256(c2[717],_mm256_xor_si256(c2[3798],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[3534],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[3126],_mm256_xor_si256(c2[3266],_mm256_xor_si256(c2[4245],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[2998],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[4273],_mm256_xor_si256(c2[4272],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[3026],_mm256_xor_si256(c2[4286],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[2340],_mm256_xor_si256(c2[3884],_mm256_xor_si256(c2[4458],_mm256_xor_si256(c2[4173],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[1532],_mm256_xor_si256(c2[266],c2[1109]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[42]=_mm256_xor_si256(c2[3501],_mm256_xor_si256(c2[3641],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[3783],_mm256_xor_si256(c2[4356],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[1559],_mm256_xor_si256(c2[1148],_mm256_xor_si256(c2[1288],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[887],_mm256_xor_si256(c2[1027],_mm256_xor_si256(c2[2006],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[3136],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[2033],_mm256_xor_si256(c2[3291],_mm256_xor_si256(c2[2326],_mm256_xor_si256(c2[2466],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[2047],_mm256_xor_si256(c2[3743],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[4438],_mm256_xor_si256(c2[2212],_mm256_xor_si256(c2[1934],_mm256_xor_si256(c2[2076],_mm256_xor_si256(c2[3632],_mm256_xor_si256(c2[3772],_mm256_xor_si256(c2[2506],_mm256_xor_si256(c2[3349],c2[4332]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[49]=_mm256_xor_si256(c2[4206],_mm256_xor_si256(c2[4346],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1540],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[1963],_mm256_xor_si256(c2[575],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[3655],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[1978],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1854],_mm256_xor_si256(c2[4092],_mm256_xor_si256(c2[3813],_mm256_xor_si256(c2[3953],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[1725],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[2565],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[1318],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[3000],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[3562],_mm256_xor_si256(c2[3702],_mm256_xor_si256(c2[2732],_mm256_xor_si256(c2[2593],_mm256_xor_si256(c2[2731],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[2592],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[3025],_mm256_xor_si256(c2[1485],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2745],_mm256_xor_si256(c2[2466],_mm256_xor_si256(c2[2606],_mm256_xor_si256(c2[4441],_mm256_xor_si256(c2[4302],_mm256_xor_si256(c2[799],_mm256_xor_si256(c2[520],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[1361],_mm256_xor_si256(c2[2917],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[2493],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[2495],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[4330],_mm256_xor_si256(c2[4470],_mm256_xor_si256(c2[4331],_mm256_xor_si256(c2[3211],_mm256_xor_si256(c2[3072],_mm256_xor_si256(c2[4047],_mm256_xor_si256(c2[3768],c2[3908]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[56]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1966],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[855],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[3935],_mm256_xor_si256(c2[2537],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[4372],_mm256_xor_si256(c2[1865],_mm256_xor_si256(c2[2005],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2984],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[1737],_mm256_xor_si256(c2[3419],_mm256_xor_si256(c2[4121],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[3012],_mm256_xor_si256(c2[3011],_mm256_xor_si256(c2[3304],_mm256_xor_si256(c2[3444],_mm256_xor_si256(c2[1625],_mm256_xor_si256(c2[1765],_mm256_xor_si256(c2[3025],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[1079],_mm256_xor_si256(c2[3057],_mm256_xor_si256(c2[3197],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[131],_mm256_xor_si256(c2[271],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[3491],c2[4327]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[63]=_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[3796],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[2398],_mm256_xor_si256(c2[1835],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[2134],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[4233],_mm256_xor_si256(c2[3670],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[2845],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1042],_mm256_xor_si256(c2[3280],_mm256_xor_si256(c2[2717],_mm256_xor_si256(c2[3982],_mm256_xor_si256(c2[3419],_mm256_xor_si256(c2[2873],_mm256_xor_si256(c2[2310],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[2316],_mm256_xor_si256(c2[3305],_mm256_xor_si256(c2[2609],_mm256_xor_si256(c2[2749],_mm256_xor_si256(c2[1626],_mm256_xor_si256(c2[1070],_mm256_xor_si256(c2[2886],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[4019],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[3058],_mm256_xor_si256(c2[2495],_mm256_xor_si256(c2[2773],_mm256_xor_si256(c2[2217],_mm256_xor_si256(c2[2915],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[3908],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[3352],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[4188],c2[3632])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[70]=_mm256_xor_si256(c2[1965],_mm256_xor_si256(c2[3098],_mm256_xor_si256(c2[1204],c2[3459])));
|
|
|
|
//row: 11
|
|
d2[77]=_mm256_xor_si256(c2[1685],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[2540],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[3935],_mm256_xor_si256(c2[4075],_mm256_xor_si256(c2[3811],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[3543],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[2566],_mm256_xor_si256(c2[3282],_mm256_xor_si256(c2[478],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[1180],_mm256_xor_si256(c2[71],_mm256_xor_si256(c2[4416],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[3310],_mm256_xor_si256(c2[4430],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[2484],_mm256_xor_si256(c2[2624],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[4457],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],c2[2089])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[84]=_mm256_xor_si256(c2[2945],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[2394],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[1975],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[3548],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[3180],_mm256_xor_si256(c2[4024],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[1378],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[3069],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[1950],c2[2786]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[91]=_mm256_xor_si256(c2[2946],_mm256_xor_si256(c2[286],_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[2255],_mm256_xor_si256(c2[717],_mm256_xor_si256(c2[857],_mm256_xor_si256(c2[2397],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[2552],_mm256_xor_si256(c2[2692],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[3827],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[1739],_mm256_xor_si256(c2[2301],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1191],_mm256_xor_si256(c2[1331],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[1205],_mm256_xor_si256(c2[1345],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[3738],_mm256_xor_si256(c2[3878],_mm256_xor_si256(c2[1517],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[3070],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[2507],c2[2647])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[98]=_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[2383],_mm256_xor_si256(c2[4065],_mm256_xor_si256(c2[4202],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[3098],_mm256_xor_si256(c2[3238],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[1699],_mm256_xor_si256(c2[3374],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1976],_mm256_xor_si256(c2[575],_mm256_xor_si256(c2[4369],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[2129],_mm256_xor_si256(c2[3671],_mm256_xor_si256(c2[3811],_mm256_xor_si256(c2[4108],_mm256_xor_si256(c2[4248],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[2423],_mm256_xor_si256(c2[3264],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[3980],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[2858],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[3560],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[2310],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[2890],_mm256_xor_si256(c2[4008],_mm256_xor_si256(c2[1204],_mm256_xor_si256(c2[789],_mm256_xor_si256(c2[2324],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[2478],_mm256_xor_si256(c2[4160],_mm256_xor_si256(c2[3322],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[518],_mm256_xor_si256(c2[954],_mm256_xor_si256(c2[2636],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[2358],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[2353],_mm256_xor_si256(c2[2493],_mm256_xor_si256(c2[2367],_mm256_xor_si256(c2[2507],_mm256_xor_si256(c2[4189],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[2930],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[3626],c2[3766])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[105]=_mm256_xor_si256(c2[2241],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[3225],_mm256_xor_si256(c2[4060],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[2803],_mm256_xor_si256(c2[3096],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[4080],_mm256_xor_si256(c2[1557],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[159],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[4374],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[2971],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[1583],_mm256_xor_si256(c2[3122],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[3838],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[1041],_mm256_xor_si256(c2[2018],_mm256_xor_si256(c2[1736],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[1066],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[3866],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[647],_mm256_xor_si256(c2[1624],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[3180],_mm256_xor_si256(c2[4164],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[2372],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[2090],_mm256_xor_si256(c2[1949],c2[2926]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[112]=_mm256_xor_si256(c2[1966],_mm256_xor_si256(c2[2106],_mm256_xor_si256(c2[1265],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[3925],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[3224],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[3640],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2120],_mm256_xor_si256(c2[2260],_mm256_xor_si256(c2[1415],_mm256_xor_si256(c2[714],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[3795],_mm256_xor_si256(c2[1556],_mm256_xor_si256(c2[4092],_mm256_xor_si256(c2[4232],_mm256_xor_si256(c2[3391],_mm256_xor_si256(c2[3531],_mm256_xor_si256(c2[1852],_mm256_xor_si256(c2[1151],_mm256_xor_si256(c2[3824],_mm256_xor_si256(c2[3964],_mm256_xor_si256(c2[3123],_mm256_xor_si256(c2[3263],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[4102],_mm256_xor_si256(c2[4242],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[2286],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[2862],_mm256_xor_si256(c2[3002],_mm256_xor_si256(c2[899],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[4130],_mm256_xor_si256(c2[4270],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[4276],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[2890],_mm256_xor_si256(c2[3030],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[4290],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[1500],_mm256_xor_si256(c2[3038],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[4455],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[4177],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[2090],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[1389],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[130],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[1807],_mm256_xor_si256(c2[1106],c2[4330])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[119]=_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[1402],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[3361],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[3936],_mm256_xor_si256(c2[4076],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[2397],_mm256_xor_si256(c2[2537],_mm256_xor_si256(c2[858],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[2255],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[3528],_mm256_xor_si256(c2[3668],_mm256_xor_si256(c2[2974],_mm256_xor_si256(c2[1288],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[607],_mm256_xor_si256(c2[3267],_mm256_xor_si256(c2[3407],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[4246],_mm256_xor_si256(c2[4386],_mm256_xor_si256(c2[4102],_mm256_xor_si256(c2[2423],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[2999],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[2716],_mm256_xor_si256(c2[1037],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[4274],_mm256_xor_si256(c2[4414],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[4413],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[1906],_mm256_xor_si256(c2[2046],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[367],_mm256_xor_si256(c2[367],_mm256_xor_si256(c2[3027],_mm256_xor_si256(c2[3167],_mm256_xor_si256(c2[1627],_mm256_xor_si256(c2[4427],_mm256_xor_si256(c2[3323],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[4160],_mm256_xor_si256(c2[2481],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[4456],_mm256_xor_si256(c2[3212],_mm256_xor_si256(c2[3352],_mm256_xor_si256(c2[1526],_mm256_xor_si256(c2[1666],_mm256_xor_si256(c2[2086],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[407],_mm256_xor_si256(c2[2929],c2[1250])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[126]=_mm256_xor_si256(c2[562],_mm256_xor_si256(c2[2324],c2[4022]));
|
|
|
|
//row: 19
|
|
d2[133]=_mm256_xor_si256(c2[4204],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[2115],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[3950],_mm256_xor_si256(c2[1583],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[2997],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[2590],_mm256_xor_si256(c2[2596],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[2610],_mm256_xor_si256(c2[4299],_mm256_xor_si256(c2[664],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[2497],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[4328],_mm256_xor_si256(c2[3069],c2[3912]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[140]=_mm256_xor_si256(c2[2946],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[3934],_mm256_xor_si256(c2[2395],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[465],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[1879],_mm256_xor_si256(c2[2581],_mm256_xor_si256(c2[2856],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[1485],_mm256_xor_si256(c2[3181],_mm256_xor_si256(c2[4018],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[3070],_mm256_xor_si256(c2[3210],_mm256_xor_si256(c2[1951],c2[2787]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[147]=_mm256_xor_si256(c2[3644],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[1415],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[3250],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[1023],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[2999],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[2030],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[2036],_mm256_xor_si256(c2[2469],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[3739],_mm256_xor_si256(c2[4443],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[1932],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[3768],_mm256_xor_si256(c2[2509],_mm256_xor_si256(c2[3212],c2[3352]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[154]=_mm256_xor_si256(c2[2395],c2[168]);
|
|
|
|
//row: 23
|
|
d2[161]=_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[3123],c2[914]));
|
|
|
|
//row: 24
|
|
d2[168]=_mm256_xor_si256(c2[3518],_mm256_xor_si256(c2[3390],c2[4467]));
|
|
|
|
//row: 25
|
|
d2[175]=_mm256_xor_si256(c2[2666],c2[4272]);
|
|
|
|
//row: 26
|
|
d2[182]=_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[2661],_mm256_xor_si256(c2[3921],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[4344],_mm256_xor_si256(c2[1557],_mm256_xor_si256(c2[1697],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[3239],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2828],_mm256_xor_si256(c2[2968],_mm256_xor_si256(c2[4228],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[1708],_mm256_xor_si256(c2[1848],_mm256_xor_si256(c2[3670],_mm256_xor_si256(c2[2567],_mm256_xor_si256(c2[2707],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[3546],_mm256_xor_si256(c2[3686],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[2299],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[4121],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[3574],_mm256_xor_si256(c2[3714],_mm256_xor_si256(c2[495],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[4006],_mm256_xor_si256(c2[4146],_mm256_xor_si256(c2[927],_mm256_xor_si256(c2[2327],_mm256_xor_si256(c2[2467],_mm256_xor_si256(c2[3727],_mm256_xor_si256(c2[3727],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[2204],_mm256_xor_si256(c2[1781],_mm256_xor_si256(c2[2901],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[938],_mm256_xor_si256(c2[3752],_mm256_xor_si256(c2[3892],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[3614],_mm256_xor_si256(c2[395],_mm256_xor_si256(c2[3756],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[537],_mm256_xor_si256(c2[826],_mm256_xor_si256(c2[966],_mm256_xor_si256(c2[2226],_mm256_xor_si256(c2[4046],_mm256_xor_si256(c2[4186],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[1670],c2[1810])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[189]=_mm256_xor_si256(c2[3780],c2[3167]);
|
|
|
|
//row: 28
|
|
d2[196]=_mm256_xor_si256(c2[3380],_mm256_xor_si256(c2[2834],c2[216]));
|
|
|
|
//row: 29
|
|
d2[203]=_mm256_xor_si256(c2[1683],c2[4117]);
|
|
|
|
//row: 30
|
|
d2[210]=_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[1751],_mm256_xor_si256(c2[3603],c2[2371])));
|
|
|
|
//row: 31
|
|
d2[217]=_mm256_xor_si256(c2[4340],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[2103],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[2678],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[3953],_mm256_xor_si256(c2[4093],_mm256_xor_si256(c2[1726],_mm256_xor_si256(c2[2705],_mm256_xor_si256(c2[742],_mm256_xor_si256(c2[1458],_mm256_xor_si256(c2[3140],_mm256_xor_si256(c2[3702],_mm256_xor_si256(c2[3842],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[2592],_mm256_xor_si256(c2[2732],_mm256_xor_si256(c2[3165],_mm256_xor_si256(c2[1486],_mm256_xor_si256(c2[2606],_mm256_xor_si256(c2[2746],_mm256_xor_si256(c2[4442],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[2918],_mm256_xor_si256(c2[2633],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[4471],_mm256_xor_si256(c2[3212],_mm256_xor_si256(c2[3908],c2[4048])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[224]=_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[3225],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[1683],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[4080],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[2971],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[1583],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[2018],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[3010],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[1624],_mm256_xor_si256(c2[3180],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[4164],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[2090],c2[2926]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[231]=_mm256_xor_si256(c2[2945],_mm256_xor_si256(c2[285],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[2254],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[3826],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[2440],_mm256_xor_si256(c2[1331],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3884],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[1373],_mm256_xor_si256(c2[3069],_mm256_xor_si256(c2[1810],c2[2646]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[238]=_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[4340],_mm256_xor_si256(c2[3783],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[4206],_mm256_xor_si256(c2[4060],_mm256_xor_si256(c2[3236],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[2819],_mm256_xor_si256(c2[1837],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[439],_mm256_xor_si256(c2[4214],_mm256_xor_si256(c2[4354],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[4090],_mm256_xor_si256(c2[2274],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[4246],_mm256_xor_si256(c2[4386],_mm256_xor_si256(c2[3822],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[3402],_mm256_xor_si256(c2[2845],_mm256_xor_si256(c2[3978],_mm256_xor_si256(c2[4118],_mm256_xor_si256(c2[3561],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[2016],_mm256_xor_si256(c2[1319],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[1206],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[789],_mm256_xor_si256(c2[4006],_mm256_xor_si256(c2[4146],_mm256_xor_si256(c2[3589],_mm256_xor_si256(c2[927],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[370],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[2623],_mm256_xor_si256(c2[2059],_mm256_xor_si256(c2[3460],_mm256_xor_si256(c2[2763],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[952],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[956],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[2512],_mm256_xor_si256(c2[2652],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[2229],_mm256_xor_si256(c2[1532],c2[1672]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[245]=_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[1823],_mm256_xor_si256(c2[2246],_mm256_xor_si256(c2[719],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[3799],_mm256_xor_si256(c2[2394],_mm256_xor_si256(c2[3796],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[3978],_mm256_xor_si256(c2[2876],_mm256_xor_si256(c2[2875],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[3168],_mm256_xor_si256(c2[3308],_mm256_xor_si256(c2[1629],_mm256_xor_si256(c2[2889],_mm256_xor_si256(c2[99],_mm256_xor_si256(c2[943],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[2776],_mm256_xor_si256(c2[2918],_mm256_xor_si256(c2[4467],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[3348],c2[4191]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[252]=_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[2133],c2[2760]));
|
|
|
|
//row: 37
|
|
d2[259]=_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[2942],_mm256_xor_si256(c2[4062],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[3098],_mm256_xor_si256(c2[3797],_mm256_xor_si256(c2[1559],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[4369],_mm256_xor_si256(c2[589],_mm256_xor_si256(c2[1989],_mm256_xor_si256(c2[2548],_mm256_xor_si256(c2[2688],_mm256_xor_si256(c2[4108],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[1307],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[3823],_mm256_xor_si256(c2[3840],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[1036],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[2297],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[635],_mm256_xor_si256(c2[1194],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1767],_mm256_xor_si256(c2[3868],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[649],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[3182],_mm256_xor_si256(c2[3741],_mm256_xor_si256(c2[3881],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[678],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[1377],_mm256_xor_si256(c2[2367],_mm256_xor_si256(c2[3066],_mm256_xor_si256(c2[1108],_mm256_xor_si256(c2[1807],_mm256_xor_si256(c2[1951],_mm256_xor_si256(c2[2510],c2[2650])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[266]=_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[3938],_mm256_xor_si256(c2[4078],_mm256_xor_si256(c2[2539],_mm256_xor_si256(c2[1134],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[730],_mm256_xor_si256(c2[870],_mm256_xor_si256(c2[2969],_mm256_xor_si256(c2[462],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[1588],_mm256_xor_si256(c2[4104],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[2016],_mm256_xor_si256(c2[2718],_mm256_xor_si256(c2[1616],_mm256_xor_si256(c2[1615],_mm256_xor_si256(c2[213],_mm256_xor_si256(c2[1908],_mm256_xor_si256(c2[2048],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[1629],_mm256_xor_si256(c2[3318],_mm256_xor_si256(c2[4162],_mm256_xor_si256(c2[1794],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[3207],_mm256_xor_si256(c2[3347],_mm256_xor_si256(c2[2088],c2[2931]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[273]=_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[2106],_mm256_xor_si256(c2[2246],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[1403],_mm256_xor_si256(c2[1135],_mm256_xor_si256(c2[1275],_mm256_xor_si256(c2[4215],_mm256_xor_si256(c2[2817],_mm256_xor_si256(c2[2413],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[2145],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[3264],_mm256_xor_si256(c2[1308],_mm256_xor_si256(c2[1877],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[3292],_mm256_xor_si256(c2[3291],_mm256_xor_si256(c2[3584],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[1905],_mm256_xor_si256(c2[2045],_mm256_xor_si256(c2[3305],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[522],_mm256_xor_si256(c2[1359],_mm256_xor_si256(c2[3043],_mm256_xor_si256(c2[3337],_mm256_xor_si256(c2[3477],_mm256_xor_si256(c2[3192],_mm256_xor_si256(c2[3334],_mm256_xor_si256(c2[411],_mm256_xor_si256(c2[551],_mm256_xor_si256(c2[3631],_mm256_xor_si256(c2[3771],c2[128]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[280]=_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[1823],_mm256_xor_si256(c2[3362],_mm256_xor_si256(c2[3642],_mm256_xor_si256(c2[3785],_mm256_xor_si256(c2[4065],_mm256_xor_si256(c2[2398],_mm256_xor_si256(c2[2678],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[4080],_mm256_xor_si256(c2[4220],_mm256_xor_si256(c2[3669],_mm256_xor_si256(c2[3949],_mm256_xor_si256(c2[1289],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[311],_mm256_xor_si256(c2[3408],_mm256_xor_si256(c2[3688],_mm256_xor_si256(c2[4387],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[2424],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[3140],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[1038],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[1318],_mm256_xor_si256(c2[4415],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[4414],_mm256_xor_si256(c2[75],_mm256_xor_si256(c2[215],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[3168],_mm256_xor_si256(c2[3448],_mm256_xor_si256(c2[4428],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1918],_mm256_xor_si256(c2[2482],_mm256_xor_si256(c2[2622],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[394],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[4457],_mm256_xor_si256(c2[118],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[1667],_mm256_xor_si256(c2[1947],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[1251],_mm256_xor_si256(c2[1391],c2[1531]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[287]=_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[3644],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[3377],_mm256_xor_si256(c2[1151],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[883],_mm256_xor_si256(c2[1023],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[2030],_mm256_xor_si256(c2[2036],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[2329],_mm256_xor_si256(c2[2469],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[3739],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[3768],_mm256_xor_si256(c2[2509],c2[3352]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|