140 lines
39 KiB
C
140 lines
39 KiB
C
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=192, byte encoding
|
|
static inline void ldpc_BG2_Zc192_byte(uint8_t *c,uint8_t *d) {
|
|
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
|
|
|
|
__m256i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<6; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[348],c2[3113]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[6]=_mm256_xor_si256(c2[1685],_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[348],c2[3113]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[12]=_mm256_xor_si256(c2[1685],_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1969],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3792],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3329],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[348],c2[3113]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[18]=_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3315],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2727],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3456],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[3233],c2[3113]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[24]=_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2761],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[3615],_mm256_xor_si256(c2[3495],_mm256_xor_si256(c2[1696],_mm256_xor_si256(c2[497],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[3758],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[2080],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1252],_mm256_xor_si256(c2[1612],_mm256_xor_si256(c2[2943],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[435],_mm256_xor_si256(c2[3313],_mm256_xor_si256(c2[2836],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2248],_mm256_xor_si256(c2[2616],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[2977],_mm256_xor_si256(c2[1188],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[3828],c2[2748]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[30]=_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[3480],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2056],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[137],_mm256_xor_si256(c2[2777],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[2544],_mm256_xor_si256(c2[3624],_mm256_xor_si256(c2[2199],_mm256_xor_si256(c2[2079],_mm256_xor_si256(c2[2318],_mm256_xor_si256(c2[521],_mm256_xor_si256(c2[3770],_mm256_xor_si256(c2[3532],_mm256_xor_si256(c2[53],_mm256_xor_si256(c2[1384],_mm256_xor_si256(c2[2823],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[2835],_mm256_xor_si256(c2[2715],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[1277],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[2006],_mm256_xor_si256(c2[1057],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[3468],_mm256_xor_si256(c2[3348],_mm256_xor_si256(c2[2269],c2[1189]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[36]=_mm256_xor_si256(c2[725],_mm256_xor_si256(c2[605],_mm256_xor_si256(c2[2160],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[3014],_mm256_xor_si256(c2[2894],_mm256_xor_si256(c2[1095],_mm256_xor_si256(c2[3735],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[3508],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[3157],_mm256_xor_si256(c2[3037],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[1479],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[651],_mm256_xor_si256(c2[1011],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[3781],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[3793],_mm256_xor_si256(c2[3673],_mm256_xor_si256(c2[2712],_mm256_xor_si256(c2[2235],_mm256_xor_si256(c2[2249],_mm256_xor_si256(c2[1647],_mm256_xor_si256(c2[567],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[1179],_mm256_xor_si256(c2[2376],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[3233],_mm256_xor_si256(c2[2153],c2[2149]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[42]=_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[3363],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[1085],_mm256_xor_si256(c2[3603],_mm256_xor_si256(c2[845],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[1813],_mm256_xor_si256(c2[2772],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[2654],_mm256_xor_si256(c2[1934],_mm256_xor_si256(c2[1466],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2427],_mm256_xor_si256(c2[2426],_mm256_xor_si256(c2[3627],_mm256_xor_si256(c2[3507],_mm256_xor_si256(c2[1001],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[1956],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[3156],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[2572],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[2328],_mm256_xor_si256(c2[3409],_mm256_xor_si256(c2[2688],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[3769],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[1625],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[2700],_mm256_xor_si256(c2[3185],_mm256_xor_si256(c2[1637],_mm256_xor_si256(c2[1517],_mm256_xor_si256(c2[2592],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[1637],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[1274],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[3324],_mm256_xor_si256(c2[686],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[3698],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[2856],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[1421],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[2270],_mm256_xor_si256(c2[2150],_mm256_xor_si256(c2[3231],_mm256_xor_si256(c2[1071],_mm256_xor_si256(c2[2152],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[1192],c2[1072]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[48]=_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[1925],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[2893],_mm256_xor_si256(c2[1094],_mm256_xor_si256(c2[3734],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[3627],_mm256_xor_si256(c2[3507],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[3156],_mm256_xor_si256(c2[3036],_mm256_xor_si256(c2[3401],_mm256_xor_si256(c2[3281],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[2461],_mm256_xor_si256(c2[2341],_mm256_xor_si256(c2[3780],_mm256_xor_si256(c2[3792],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[2837],_mm256_xor_si256(c2[2717],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[2368],_mm256_xor_si256(c2[2248],_mm256_xor_si256(c2[1646],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[2020],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[472],_mm256_xor_si256(c2[3352],_mm256_xor_si256(c2[3232],c2[2152]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[54]=_mm256_xor_si256(c2[725],_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[2280],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[3014],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[2174],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[375],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[3015],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[2908],_mm256_xor_si256(c2[2788],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[3157],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[2317],_mm256_xor_si256(c2[3396],_mm256_xor_si256(c2[2556],_mm256_xor_si256(c2[1599],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[169],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[3770],_mm256_xor_si256(c2[1131],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[2462],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[3061],_mm256_xor_si256(c2[3793],_mm256_xor_si256(c2[3073],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[1992],_mm256_xor_si256(c2[2355],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[1767],_mm256_xor_si256(c2[927],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[1299],_mm256_xor_si256(c2[459],_mm256_xor_si256(c2[2496],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[3712],_mm256_xor_si256(c2[3592],_mm256_xor_si256(c2[3353],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2273],c2[1433])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[60]=_mm256_xor_si256(c2[3241],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[2712],c2[2485])));
|
|
|
|
//row: 11
|
|
d2[66]=_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[3133],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[255],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[3747],_mm256_xor_si256(c2[1108],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[3521],_mm256_xor_si256(c2[1718],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[890],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[2581],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[2474],_mm256_xor_si256(c2[2488],_mm256_xor_si256(c2[2006],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[3446],_mm256_xor_si256(c2[2260],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[2621],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[2512],_mm256_xor_si256(c2[2392],c2[1793])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[72]=_mm256_xor_si256(c2[3005],_mm256_xor_si256(c2[2885],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1455],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[3375],_mm256_xor_si256(c2[2176],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[2069],_mm256_xor_si256(c2[1949],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1717],_mm256_xor_si256(c2[3759],_mm256_xor_si256(c2[3518],_mm256_xor_si256(c2[3169],_mm256_xor_si256(c2[2931],_mm256_xor_si256(c2[3291],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[2222],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[2114],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[456],_mm256_xor_si256(c2[3459],_mm256_xor_si256(c2[817],_mm256_xor_si256(c2[2873],_mm256_xor_si256(c2[2753],_mm256_xor_si256(c2[1668],c2[588]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[78]=_mm256_xor_si256(c2[2284],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3605],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[1695],_mm256_xor_si256(c2[1575],_mm256_xor_si256(c2[3495],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[2548],_mm256_xor_si256(c2[2428],_mm256_xor_si256(c2[877],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[3158],_mm256_xor_si256(c2[2568],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[2810],_mm256_xor_si256(c2[2690],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[1741],_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[552],_mm256_xor_si256(c2[195],_mm256_xor_si256(c2[75],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[3446],_mm256_xor_si256(c2[3326],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[2858],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[2152],_mm256_xor_si256(c2[1073],_mm256_xor_si256(c2[113],c2[3832])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[84]=_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[3485],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[3245],_mm256_xor_si256(c2[2655],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[2292],_mm256_xor_si256(c2[3269],_mm256_xor_si256(c2[3149],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[2188],_mm256_xor_si256(c2[2068],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[2678],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[2917],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[2208],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[652],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[3661],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[3434],_mm256_xor_si256(c2[3314],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[2353],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[1876],_mm256_xor_si256(c2[3674],_mm256_xor_si256(c2[3554],_mm256_xor_si256(c2[2715],_mm256_xor_si256(c2[1884],_mm256_xor_si256(c2[3568],_mm256_xor_si256(c2[1288],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[2966],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[3340],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[2868],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[3592],c2[3472])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[90]=_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[3601],_mm256_xor_si256(c2[3002],_mm256_xor_si256(c2[1323],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[3736],_mm256_xor_si256(c2[2177],_mm256_xor_si256(c2[2057],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[2892],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[2785],_mm256_xor_si256(c2[2665],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[2200],_mm256_xor_si256(c2[279],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[2321],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1505],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[2944],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[2956],_mm256_xor_si256(c2[2836],_mm256_xor_si256(c2[3554],_mm256_xor_si256(c2[1875],_mm256_xor_si256(c2[3077],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[1406],_mm256_xor_si256(c2[2489],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[2857],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[3218],_mm256_xor_si256(c2[1539],_mm256_xor_si256(c2[1309],_mm256_xor_si256(c2[3589],_mm256_xor_si256(c2[3469],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[2390],_mm256_xor_si256(c2[2989],c2[1310]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[96]=_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[1681],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[125],_mm256_xor_si256(c2[3242],_mm256_xor_si256(c2[3122],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[2882],_mm256_xor_si256(c2[973],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[137],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[2893],_mm256_xor_si256(c2[2057],_mm256_xor_si256(c2[1694],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[1587],_mm256_xor_si256(c2[1467],_mm256_xor_si256(c2[745],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[2547],_mm256_xor_si256(c2[1705],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[1241],_mm256_xor_si256(c2[519],_mm256_xor_si256(c2[399],_mm256_xor_si256(c2[3277],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[2693],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[2449],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[2809],_mm256_xor_si256(c2[1973],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[3424],_mm256_xor_si256(c2[3304],_mm256_xor_si256(c2[1740],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[1632],_mm256_xor_si256(c2[916],_mm256_xor_si256(c2[796],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[3674],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[3197],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[3325],_mm256_xor_si256(c2[3205],_mm256_xor_si256(c2[3445],_mm256_xor_si256(c2[2609],_mm256_xor_si256(c2[3819],_mm256_xor_si256(c2[3097],_mm256_xor_si256(c2[2977],_mm256_xor_si256(c2[2977],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[3338],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[1549],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[1192],_mm256_xor_si256(c2[470],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[3109],c2[2153])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[102]=_mm256_xor_si256(c2[2765],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[1095],_mm256_xor_si256(c2[855],_mm256_xor_si256(c2[735],_mm256_xor_si256(c2[3135],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[1576],_mm256_xor_si256(c2[3616],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[1469],_mm256_xor_si256(c2[1349],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[2429],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[878],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[1117],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3159],_mm256_xor_si256(c2[2929],_mm256_xor_si256(c2[2689],_mm256_xor_si256(c2[2569],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[2331],_mm256_xor_si256(c2[3051],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[303],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[1982],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[1874],_mm256_xor_si256(c2[1634],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[3687],_mm256_xor_si256(c2[3327],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[217],_mm256_xor_si256(c2[2633],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[2153],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[1188],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[348],c2[3833])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[108]=_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[792],c2[1765]));
|
|
|
|
//row: 19
|
|
d2[114]=_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[3121],_mm256_xor_si256(c2[3373],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[375],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[1228],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[3761],_mm256_xor_si256(c2[1958],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[2821],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[3197],_mm256_xor_si256(c2[2714],_mm256_xor_si256(c2[2728],_mm256_xor_si256(c2[2126],_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[952],_mm256_xor_si256(c2[3712],c2[2632]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[120]=_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[2045],_mm256_xor_si256(c2[3133],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[3747],_mm256_xor_si256(c2[3627],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[3156],_mm256_xor_si256(c2[3401],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[3529],_mm256_xor_si256(c2[2461],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[3792],_mm256_xor_si256(c2[2837],_mm256_xor_si256(c2[2354],_mm256_xor_si256(c2[2368],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[3352],c2[2272]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[126]=_mm256_xor_si256(c2[1921],_mm256_xor_si256(c2[3482],_mm256_xor_si256(c2[3242],_mm256_xor_si256(c2[3484],_mm256_xor_si256(c2[377],_mm256_xor_si256(c2[2417],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[2185],_mm256_xor_si256(c2[2065],_mm256_xor_si256(c2[520],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[2801],_mm256_xor_si256(c2[2211],_mm256_xor_si256(c2[1973],_mm256_xor_si256(c2[2453],_mm256_xor_si256(c2[2333],_mm256_xor_si256(c2[3664],_mm256_xor_si256(c2[1384],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[1156],_mm256_xor_si256(c2[195],_mm256_xor_si256(c2[3677],_mm256_xor_si256(c2[3557],_mm256_xor_si256(c2[3565],_mm256_xor_si256(c2[3089],_mm256_xor_si256(c2[2969],_mm256_xor_si256(c2[3337],_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[3818],_mm256_xor_si256(c2[3698],_mm256_xor_si256(c2[1901],_mm256_xor_si256(c2[1789],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[3589],c2[3469]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[132]=_mm256_xor_si256(c2[2412],c2[2425]);
|
|
|
|
//row: 23
|
|
d2[138]=_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[2678],c2[3782]));
|
|
|
|
//row: 24
|
|
d2[144]=_mm256_xor_si256(c2[2657],_mm256_xor_si256(c2[3028],c2[110]));
|
|
|
|
//row: 25
|
|
d2[150]=_mm256_xor_si256(c2[1561],c2[2580]);
|
|
|
|
//row: 26
|
|
d2[156]=_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[2896],_mm256_xor_si256(c2[2776],_mm256_xor_si256(c2[2537],_mm256_xor_si256(c2[977],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[3617],_mm256_xor_si256(c2[3492],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[3384],_mm256_xor_si256(c2[3145],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[3039],_mm256_xor_si256(c2[2919],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[3278],_mm256_xor_si256(c2[3158],_mm256_xor_si256(c2[2919],_mm256_xor_si256(c2[1361],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[891],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[532],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[893],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[2224],_mm256_xor_si256(c2[1985],_mm256_xor_si256(c2[3663],_mm256_xor_si256(c2[3544],_mm256_xor_si256(c2[3424],_mm256_xor_si256(c2[3675],_mm256_xor_si256(c2[3555],_mm256_xor_si256(c2[3316],_mm256_xor_si256(c2[2714],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[2355],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[1992],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[2125],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[1061],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[2019],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[349],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[3229],_mm256_xor_si256(c2[3109],_mm256_xor_si256(c2[2870],_mm256_xor_si256(c2[2029],_mm256_xor_si256(c2[1910],c2[1790])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[162]=_mm256_xor_si256(c2[843],c2[2233]);
|
|
|
|
//row: 28
|
|
d2[168]=_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[1827],c2[1025]));
|
|
|
|
//row: 29
|
|
d2[174]=_mm256_xor_si256(c2[1683],c2[2088]);
|
|
|
|
//row: 30
|
|
d2[180]=_mm256_xor_si256(c2[2907],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[2485],c2[2989])));
|
|
|
|
//row: 31
|
|
d2[186]=_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[3254],_mm256_xor_si256(c2[2175],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[3028],_mm256_xor_si256(c2[2908],_mm256_xor_si256(c2[1357],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[3048],_mm256_xor_si256(c2[2810],_mm256_xor_si256(c2[3290],_mm256_xor_si256(c2[3170],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[2221],_mm256_xor_si256(c2[2101],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1032],_mm256_xor_si256(c2[675],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[569],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[3806],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[3338],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[593],c2[473])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[192]=_mm256_xor_si256(c2[3725],_mm256_xor_si256(c2[3605],_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[1081],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2175],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[2896],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[2669],_mm256_xor_si256(c2[3749],_mm256_xor_si256(c2[2318],_mm256_xor_si256(c2[2198],_mm256_xor_si256(c2[2557],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[3651],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[1623],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[2942],_mm256_xor_si256(c2[1020],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[1396],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[808],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[3593],_mm256_xor_si256(c2[3473],_mm256_xor_si256(c2[2508],_mm256_xor_si256(c2[2388],c2[1308]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[198]=_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[2644],_mm256_xor_si256(c2[2404],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[147],_mm256_xor_si256(c2[1227],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[3521],_mm256_xor_si256(c2[3760],_mm256_xor_si256(c2[1957],_mm256_xor_si256(c2[1373],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[3196],_mm256_xor_si256(c2[2713],_mm256_xor_si256(c2[2727],_mm256_xor_si256(c2[2125],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[2499],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[2860],_mm256_xor_si256(c2[951],_mm256_xor_si256(c2[3711],c2[2631]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[204]=_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[3604],_mm256_xor_si256(c2[3005],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[2174],_mm256_xor_si256(c2[2054],_mm256_xor_si256(c2[1455],_mm256_xor_si256(c2[255],_mm256_xor_si256(c2[3495],_mm256_xor_si256(c2[2895],_mm256_xor_si256(c2[2416],_mm256_xor_si256(c2[2296],_mm256_xor_si256(c2[2788],_mm256_xor_si256(c2[2668],_mm256_xor_si256(c2[2069],_mm256_xor_si256(c2[3748],_mm256_xor_si256(c2[3269],_mm256_xor_si256(c2[3149],_mm256_xor_si256(c2[2317],_mm256_xor_si256(c2[2197],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[2556],_mm256_xor_si256(c2[2436],_mm256_xor_si256(c2[1837],_mm256_xor_si256(c2[639],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[169],_mm256_xor_si256(c2[49],_mm256_xor_si256(c2[3289],_mm256_xor_si256(c2[3650],_mm256_xor_si256(c2[3051],_mm256_xor_si256(c2[171],_mm256_xor_si256(c2[3531],_mm256_xor_si256(c2[3411],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[903],_mm256_xor_si256(c2[2941],_mm256_xor_si256(c2[2462],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[1992],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[1273],_mm256_xor_si256(c2[1395],_mm256_xor_si256(c2[916],_mm256_xor_si256(c2[796],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[1409],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[807],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[1181],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[3579],_mm256_xor_si256(c2[1536],_mm256_xor_si256(c2[1057],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[3592],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[2873],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2393],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[1313],_mm256_xor_si256(c2[828],c2[708]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[210]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3725],_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[2295],_mm256_xor_si256(c2[2175],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[3016],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[2438],_mm256_xor_si256(c2[2318],_mm256_xor_si256(c2[2557],_mm256_xor_si256(c2[760],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[3771],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[1623],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[2945],_mm256_xor_si256(c2[3074],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[460],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[3593],_mm256_xor_si256(c2[2508],c2[1428]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[216]=_mm256_xor_si256(c2[3000],_mm256_xor_si256(c2[2788],c2[1289]));
|
|
|
|
//row: 37
|
|
d2[222]=_mm256_xor_si256(c2[2160],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[3001],_mm256_xor_si256(c2[3481],_mm256_xor_si256(c2[2761],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[3735],_mm256_xor_si256(c2[2656],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[857],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[1224],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[2304],_mm256_xor_si256(c2[1704],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[39],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[2212],_mm256_xor_si256(c2[1492],_mm256_xor_si256(c2[2572],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[1852],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[3183],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[903],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[1395],_mm256_xor_si256(c2[675],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[3553],_mm256_xor_si256(c2[3796],_mm256_xor_si256(c2[3196],_mm256_xor_si256(c2[3076],_mm256_xor_si256(c2[3804],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[3208],_mm256_xor_si256(c2[2608],_mm256_xor_si256(c2[2488],_mm256_xor_si256(c2[3576],_mm256_xor_si256(c2[2856],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2020],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[3337],_mm256_xor_si256(c2[3217],_mm256_xor_si256(c2[2028],_mm256_xor_si256(c2[1308],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[3708],_mm256_xor_si256(c2[3108],c2[2988])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[228]=_mm256_xor_si256(c2[1445],_mm256_xor_si256(c2[1325],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[3734],_mm256_xor_si256(c2[3614],_mm256_xor_si256(c2[1815],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[509],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[1469],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[3757],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[2199],_mm256_xor_si256(c2[1609],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[3432],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[2969],_mm256_xor_si256(c2[2367],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[1899],_mm256_xor_si256(c2[3096],_mm256_xor_si256(c2[1313],_mm256_xor_si256(c2[1193],_mm256_xor_si256(c2[108],c2[2873]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[234]=_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[3482],_mm256_xor_si256(c2[3136],_mm256_xor_si256(c2[3016],_mm256_xor_si256(c2[1217],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[3744],_mm256_xor_si256(c2[3624],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[3279],_mm256_xor_si256(c2[3159],_mm256_xor_si256(c2[3518],_mm256_xor_si256(c2[3398],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[1131],_mm256_xor_si256(c2[1011],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[2584],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[3795],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[2357],_mm256_xor_si256(c2[2485],_mm256_xor_si256(c2[2365],_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[2137],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[709],_mm256_xor_si256(c2[589],_mm256_xor_si256(c2[3469],_mm256_xor_si256(c2[3349],c2[2269]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[240]=_mm256_xor_si256(c2[2882],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[3485],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[3245],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[2173],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[1946],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[3026],_mm256_xor_si256(c2[2188],_mm256_xor_si256(c2[2068],_mm256_xor_si256(c2[867],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[1720],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[3756],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[3172],_mm256_xor_si256(c2[2208],_mm256_xor_si256(c2[2928],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[3288],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[780],_mm256_xor_si256(c2[3661],_mm256_xor_si256(c2[2225],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[1156],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[3674],_mm256_xor_si256(c2[3554],_mm256_xor_si256(c2[687],_mm256_xor_si256(c2[3568],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[2966],_mm256_xor_si256(c2[459],_mm256_xor_si256(c2[3340],_mm256_xor_si256(c2[3456],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[2750],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[1671],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[591],_mm256_xor_si256(c2[3592],c2[3472]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[246]=_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[1081],_mm256_xor_si256(c2[2642],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[3496],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[1577],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[2296],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[1225],_mm256_xor_si256(c2[3639],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3758],_mm256_xor_si256(c2[1961],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[424],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2717],_mm256_xor_si256(c2[2725],_mm256_xor_si256(c2[2129],_mm256_xor_si256(c2[2497],_mm256_xor_si256(c2[1661],_mm256_xor_si256(c2[2858],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[3709],c2[2629]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|