adding LDPC encoder and decoder (from mwc18 branch)
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
#include "PHY/sse_intrin.h"
|
||||
// generated code for Zc=352, byte encoding
|
||||
static inline void ldpc_BG2_Zc352_byte(uint8_t *c,uint8_t *d) {
|
||||
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
|
||||
|
||||
__m256i *c2,*d2;
|
||||
|
||||
int i2;
|
||||
for (i2=0; i2<11; i2++) {
|
||||
c2=&csimd[i2];
|
||||
d2=&dsimd[i2];
|
||||
|
||||
//row: 0
|
||||
d2[0]=_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))));
|
||||
|
||||
//row: 1
|
||||
d2[11]=_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3326],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1893],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[6141],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 2
|
||||
d2[22]=_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3740],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3326],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6909],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1893],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[5193],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1255],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2601],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[6141],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 3
|
||||
d2[33]=_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4643],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[3129],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[3173],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6933],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3872],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5656],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3916],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[2181],c2[1961]))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 4
|
||||
d2[44]=_mm256_xor_si256(c2[3307],_mm256_xor_si256(c2[3087],_mm256_xor_si256(c2[663],_mm256_xor_si256(c2[4405],_mm256_xor_si256(c2[4842],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[5749],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[47],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[4908],_mm256_xor_si256(c2[4688],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[6451],_mm256_xor_si256(c2[3832],_mm256_xor_si256(c2[973],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[4292],_mm256_xor_si256(c2[3856],_mm256_xor_si256(c2[6075],_mm256_xor_si256(c2[5855],_mm256_xor_si256(c2[2116],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[5217],_mm256_xor_si256(c2[2579],_mm256_xor_si256(c2[6563],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[839],_mm256_xor_si256(c2[3284],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[5264],c2[6143]))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 5
|
||||
d2[55]=_mm256_xor_si256(c2[5286],_mm256_xor_si256(c2[5066],_mm256_xor_si256(c2[2642],_mm256_xor_si256(c2[6384],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[2448],_mm256_xor_si256(c2[2228],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[3545],_mm256_xor_si256(c2[4424],_mm256_xor_si256(c2[2246],_mm256_xor_si256(c2[2026],_mm256_xor_si256(c2[2031],_mm256_xor_si256(c2[6887],_mm256_xor_si256(c2[6667],_mm256_xor_si256(c2[6229],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[5811],_mm256_xor_si256(c2[2952],_mm256_xor_si256(c2[2075],_mm256_xor_si256(c2[6271],_mm256_xor_si256(c2[5835],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[1015],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[4095],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[4558],_mm256_xor_si256(c2[1697],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[2818],_mm256_xor_si256(c2[5263],_mm256_xor_si256(c2[5043],_mm256_xor_si256(c2[204],c2[1083]))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 6
|
||||
d2[66]=_mm256_xor_si256(c2[5505],_mm256_xor_si256(c2[5285],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[6603],_mm256_xor_si256(c2[3301],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[2447],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[3764],_mm256_xor_si256(c2[2465],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[67],_mm256_xor_si256(c2[6886],_mm256_xor_si256(c2[6448],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[6030],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[6490],_mm256_xor_si256(c2[6054],_mm256_xor_si256(c2[5834],_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[2993],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[4777],_mm256_xor_si256(c2[2354],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3037],_mm256_xor_si256(c2[5482],_mm256_xor_si256(c2[5262],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[1302],c2[6142]))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 7
|
||||
d2[77]=_mm256_xor_si256(c2[2426],_mm256_xor_si256(c2[2206],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[6821],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[3524],_mm256_xor_si256(c2[5284],_mm256_xor_si256(c2[6627],_mm256_xor_si256(c2[6407],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[685],_mm256_xor_si256(c2[2665],_mm256_xor_si256(c2[2445],_mm256_xor_si256(c2[3543],_mm256_xor_si256(c2[6425],_mm256_xor_si256(c2[6205],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[6210],_mm256_xor_si256(c2[1151],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[4027],_mm256_xor_si256(c2[3807],_mm256_xor_si256(c2[5567],_mm256_xor_si256(c2[3369],_mm256_xor_si256(c2[5129],_mm256_xor_si256(c2[5570],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[2951],_mm256_xor_si256(c2[4711],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[1852],_mm256_xor_si256(c2[6254],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[3411],_mm256_xor_si256(c2[5171],_mm256_xor_si256(c2[2975],_mm256_xor_si256(c2[4955],_mm256_xor_si256(c2[4735],_mm256_xor_si256(c2[6493],_mm256_xor_si256(c2[5194],_mm256_xor_si256(c2[4974],_mm256_xor_si256(c2[6734],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[2995],_mm256_xor_si256(c2[6953],_mm256_xor_si256(c2[1894],_mm256_xor_si256(c2[1674],_mm256_xor_si256(c2[4336],_mm256_xor_si256(c2[6096],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[3678],_mm256_xor_si256(c2[3458],_mm256_xor_si256(c2[5434],_mm256_xor_si256(c2[5682],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[6341],_mm256_xor_si256(c2[1062],_mm256_xor_si256(c2[6997],_mm256_xor_si256(c2[1938],_mm256_xor_si256(c2[1718],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[2183],_mm256_xor_si256(c2[3943],_mm256_xor_si256(c2[4383],_mm256_xor_si256(c2[6143],_mm256_xor_si256(c2[5262],_mm256_xor_si256(c2[203],c2[7022]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 8
|
||||
d2[88]=_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[6169],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[4621],_mm256_xor_si256(c2[3551],_mm256_xor_si256(c2[3331],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[4648],_mm256_xor_si256(c2[6842],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[3129],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[951],_mm256_xor_si256(c2[731],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[2494],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[6914],_mm256_xor_si256(c2[4055],_mm256_xor_si256(c2[3178],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[335],_mm256_xor_si256(c2[6938],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[1898],_mm256_xor_si256(c2[5418],_mm256_xor_si256(c2[5198],_mm256_xor_si256(c2[3877],_mm256_xor_si256(c2[1480],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[5661],_mm256_xor_si256(c2[2826],_mm256_xor_si256(c2[2606],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[3921],_mm256_xor_si256(c2[6366],_mm256_xor_si256(c2[6146],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[1307],c2[2186]))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 9
|
||||
d2[99]=_mm256_xor_si256(c2[6607],_mm256_xor_si256(c2[6166],_mm256_xor_si256(c2[5946],_mm256_xor_si256(c2[4183],_mm256_xor_si256(c2[3522],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[3769],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[3108],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[4425],_mm256_xor_si256(c2[1785],_mm256_xor_si256(c2[3567],_mm256_xor_si256(c2[3126],_mm256_xor_si256(c2[2906],_mm256_xor_si256(c2[3572],_mm256_xor_si256(c2[2911],_mm256_xor_si256(c2[1169],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[731],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[2932],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[6691],_mm256_xor_si256(c2[4493],_mm256_xor_si256(c2[3832],_mm256_xor_si256(c2[3616],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[6715],_mm256_xor_si256(c2[2336],_mm256_xor_si256(c2[1895],_mm256_xor_si256(c2[1675],_mm256_xor_si256(c2[5636],_mm256_xor_si256(c2[4975],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[1037],_mm256_xor_si256(c2[6099],_mm256_xor_si256(c2[5438],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[2383],_mm256_xor_si256(c2[3703],_mm256_xor_si256(c2[3042],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[3698],_mm256_xor_si256(c2[3260],_mm256_xor_si256(c2[6584],_mm256_xor_si256(c2[6143],_mm256_xor_si256(c2[5923],_mm256_xor_si256(c2[1745],_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[2624],c2[1963])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 10
|
||||
d2[110]=_mm256_xor_si256(c2[3303],_mm256_xor_si256(c2[5522],_mm256_xor_si256(c2[3217],c2[5214])));
|
||||
|
||||
//row: 11
|
||||
d2[121]=_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[6384],_mm256_xor_si256(c2[3087],_mm256_xor_si256(c2[5942],_mm256_xor_si256(c2[5970],_mm256_xor_si256(c2[4431],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[5768],_mm256_xor_si256(c2[5993],_mm256_xor_si256(c2[5773],_mm256_xor_si256(c2[3370],_mm256_xor_si256(c2[2932],_mm256_xor_si256(c2[5133],_mm256_xor_si256(c2[2514],_mm256_xor_si256(c2[6694],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[5817],_mm256_xor_si256(c2[2974],_mm256_xor_si256(c2[2758],_mm256_xor_si256(c2[2538],_mm256_xor_si256(c2[4537],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[6736],_mm256_xor_si256(c2[6516],_mm256_xor_si256(c2[3899],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[3459],_mm256_xor_si256(c2[5245],_mm256_xor_si256(c2[5904],_mm256_xor_si256(c2[6780],_mm256_xor_si256(c2[6560],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[3946],_mm256_xor_si256(c2[5045],_mm256_xor_si256(c2[4825],c2[5478])))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 12
|
||||
d2[132]=_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[6824],_mm256_xor_si256(c2[4400],_mm256_xor_si256(c2[1103],_mm256_xor_si256(c2[4206],_mm256_xor_si256(c2[3986],_mm256_xor_si256(c2[2447],_mm256_xor_si256(c2[5303],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[4004],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[3789],_mm256_xor_si256(c2[1606],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[948],_mm256_xor_si256(c2[3149],_mm256_xor_si256(c2[2486],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[4710],_mm256_xor_si256(c2[3833],_mm256_xor_si256(c2[990],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[2773],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[5853],_mm256_xor_si256(c2[4532],_mm256_xor_si256(c2[1915],_mm256_xor_si256(c2[6316],_mm256_xor_si256(c2[3261],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[4576],_mm256_xor_si256(c2[7021],_mm256_xor_si256(c2[6801],_mm256_xor_si256(c2[1962],c2[2841]))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 13
|
||||
d2[143]=_mm256_xor_si256(c2[5728],_mm256_xor_si256(c2[3304],_mm256_xor_si256(c2[7],_mm256_xor_si256(c2[6380],_mm256_xor_si256(c2[2890],_mm256_xor_si256(c2[1351],_mm256_xor_si256(c2[4427],_mm256_xor_si256(c2[4207],_mm256_xor_si256(c2[5964],_mm256_xor_si256(c2[2688],_mm256_xor_si256(c2[2913],_mm256_xor_si256(c2[2693],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[6891],_mm256_xor_si256(c2[2053],_mm256_xor_si256(c2[6473],_mm256_xor_si256(c2[3614],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[2737],_mm256_xor_si256(c2[6933],_mm256_xor_si256(c2[6717],_mm256_xor_si256(c2[6497],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[3436],_mm256_xor_si256(c2[819],_mm256_xor_si256(c2[5440],_mm256_xor_si256(c2[5220],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[3480],_mm256_xor_si256(c2[6116],_mm256_xor_si256(c2[5705],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[1965],c2[1745])))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 14
|
||||
d2[154]=_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[4845],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[1548],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[4866],_mm256_xor_si256(c2[4431],_mm256_xor_si256(c2[3327],_mm256_xor_si256(c2[2892],_mm256_xor_si256(c2[6183],_mm256_xor_si256(c2[5968],_mm256_xor_si256(c2[5748],_mm256_xor_si256(c2[2442],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[4664],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[4669],_mm256_xor_si256(c2[4454],_mm256_xor_si256(c2[4234],_mm256_xor_si256(c2[2486],_mm256_xor_si256(c2[2266],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[4029],_mm256_xor_si256(c2[3594],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[5590],_mm256_xor_si256(c2[5155],_mm256_xor_si256(c2[4713],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[4278],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[999],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[3433],_mm256_xor_si256(c2[2998],_mm256_xor_si256(c2[6733],_mm256_xor_si256(c2[6298],_mm256_xor_si256(c2[5412],_mm256_xor_si256(c2[5197],_mm256_xor_si256(c2[4977],_mm256_xor_si256(c2[3876],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[6981],_mm256_xor_si256(c2[6761],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[3706],_mm256_xor_si256(c2[4800],_mm256_xor_si256(c2[4365],_mm256_xor_si256(c2[5456],_mm256_xor_si256(c2[5241],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[862],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[207],_mm256_xor_si256(c2[2842],_mm256_xor_si256(c2[2407],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[3506],c2[3286])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 15
|
||||
d2[165]=_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[5063],_mm256_xor_si256(c2[5281],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[4649],_mm256_xor_si256(c2[5087],_mm256_xor_si256(c2[4867],_mm256_xor_si256(c2[3110],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[5966],_mm256_xor_si256(c2[6184],_mm256_xor_si256(c2[4447],_mm256_xor_si256(c2[4885],_mm256_xor_si256(c2[4665],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[4670],_mm256_xor_si256(c2[2049],_mm256_xor_si256(c2[2487],_mm256_xor_si256(c2[2267],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[4030],_mm256_xor_si256(c2[1193],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[5373],_mm256_xor_si256(c2[5591],_mm256_xor_si256(c2[4496],_mm256_xor_si256(c2[4714],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[1217],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[3216],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[3434],_mm256_xor_si256(c2[6516],_mm256_xor_si256(c2[6734],_mm256_xor_si256(c2[5195],_mm256_xor_si256(c2[5413],_mm256_xor_si256(c2[2578],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[6979],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[4583],_mm256_xor_si256(c2[4801],_mm256_xor_si256(c2[5239],_mm256_xor_si256(c2[5457],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[2625],_mm256_xor_si256(c2[2843],_mm256_xor_si256(c2[3504],c2[3722]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 16
|
||||
d2[176]=_mm256_xor_si256(c2[2865],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[4845],_mm256_xor_si256(c2[4625],_mm256_xor_si256(c2[3963],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[27],_mm256_xor_si256(c2[6846],_mm256_xor_si256(c2[4431],_mm256_xor_si256(c2[4211],_mm256_xor_si256(c2[5307],_mm256_xor_si256(c2[2672],_mm256_xor_si256(c2[1124],_mm256_xor_si256(c2[5528],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[6864],_mm256_xor_si256(c2[6644],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[4009],_mm256_xor_si256(c2[6649],_mm256_xor_si256(c2[4014],_mm256_xor_si256(c2[4466],_mm256_xor_si256(c2[4246],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[3808],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1173],_mm256_xor_si256(c2[6009],_mm256_xor_si256(c2[3374],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[755],_mm256_xor_si256(c2[531],_mm256_xor_si256(c2[4935],_mm256_xor_si256(c2[6693],_mm256_xor_si256(c2[4058],_mm256_xor_si256(c2[3850],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[3414],_mm256_xor_si256(c2[779],_mm256_xor_si256(c2[5633],_mm256_xor_si256(c2[5413],_mm256_xor_si256(c2[2998],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[1674],_mm256_xor_si256(c2[6298],_mm256_xor_si256(c2[6078],_mm256_xor_si256(c2[353],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[4775],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[2137],_mm256_xor_si256(c2[6541],_mm256_xor_si256(c2[6121],_mm256_xor_si256(c2[3706],_mm256_xor_si256(c2[3486],_mm256_xor_si256(c2[6780],_mm256_xor_si256(c2[4145],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[4801],_mm256_xor_si256(c2[2842],_mm256_xor_si256(c2[2622],_mm256_xor_si256(c2[207],_mm256_xor_si256(c2[7026],_mm256_xor_si256(c2[4822],_mm256_xor_si256(c2[2407],_mm256_xor_si256(c2[2187],_mm256_xor_si256(c2[5701],_mm256_xor_si256(c2[3066],c2[6802])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 17
|
||||
d2[187]=_mm256_xor_si256(c2[5726],_mm256_xor_si256(c2[5506],_mm256_xor_si256(c2[6829],_mm256_xor_si256(c2[6609],_mm256_xor_si256(c2[3082],_mm256_xor_si256(c2[4405],_mm256_xor_si256(c2[4185],_mm256_xor_si256(c2[6824],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[2888],_mm256_xor_si256(c2[2668],_mm256_xor_si256(c2[3991],_mm256_xor_si256(c2[3771],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[3985],_mm256_xor_si256(c2[5088],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2686],_mm256_xor_si256(c2[2466],_mm256_xor_si256(c2[3789],_mm256_xor_si256(c2[3569],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3574],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[1171],_mm256_xor_si256(c2[6669],_mm256_xor_si256(c2[953],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[2934],_mm256_xor_si256(c2[6251],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[315],_mm256_xor_si256(c2[3392],_mm256_xor_si256(c2[4495],_mm256_xor_si256(c2[2515],_mm256_xor_si256(c2[3618],_mm256_xor_si256(c2[6711],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[6275],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[5170],_mm256_xor_si256(c2[1455],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[2558],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[4535],_mm256_xor_si256(c2[5858],_mm256_xor_si256(c2[5638],_mm256_xor_si256(c2[3214],_mm256_xor_si256(c2[4317],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[4998],_mm256_xor_si256(c2[6101],_mm256_xor_si256(c2[1943],_mm256_xor_si256(c2[3266],_mm256_xor_si256(c2[3046],_mm256_xor_si256(c2[2602],_mm256_xor_si256(c2[3705],_mm256_xor_si256(c2[3258],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[5703],_mm256_xor_si256(c2[5483],_mm256_xor_si256(c2[6806],_mm256_xor_si256(c2[6586],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[1967],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[1523],c2[2626])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 18
|
||||
d2[198]=_mm256_xor_si256(c2[2865],_mm256_xor_si256(c2[6952],c2[4994]));
|
||||
|
||||
//row: 19
|
||||
d2[209]=_mm256_xor_si256(c2[2649],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[2860],_mm256_xor_si256(c2[6850],_mm256_xor_si256(c2[5311],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[6648],_mm256_xor_si256(c2[6653],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[6013],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[6697],_mm256_xor_si256(c2[3854],_mm256_xor_si256(c2[3418],_mm256_xor_si256(c2[5417],_mm256_xor_si256(c2[1678],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[4779],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[6125],_mm256_xor_si256(c2[6784],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[2626],_mm256_xor_si256(c2[4826],c2[5705]))))))))))))))))))))))))))));
|
||||
|
||||
//row: 20
|
||||
d2[220]=_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[6385],_mm256_xor_si256(c2[3088],_mm256_xor_si256(c2[6191],_mm256_xor_si256(c2[5971],_mm256_xor_si256(c2[4432],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[5989],_mm256_xor_si256(c2[5769],_mm256_xor_si256(c2[5774],_mm256_xor_si256(c2[3591],_mm256_xor_si256(c2[3371],_mm256_xor_si256(c2[2933],_mm256_xor_si256(c2[5134],_mm256_xor_si256(c2[2515],_mm256_xor_si256(c2[6695],_mm256_xor_si256(c2[5818],_mm256_xor_si256(c2[4489],_mm256_xor_si256(c2[2975],_mm256_xor_si256(c2[2539],_mm256_xor_si256(c2[4758],_mm256_xor_si256(c2[4538],_mm256_xor_si256(c2[799],_mm256_xor_si256(c2[6517],_mm256_xor_si256(c2[3900],_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[5246],_mm256_xor_si256(c2[5905],_mm256_xor_si256(c2[6561],_mm256_xor_si256(c2[1967],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[3947],c2[4826]))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 21
|
||||
d2[231]=_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[5281],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[4867],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[6404],_mm256_xor_si256(c2[6184],_mm256_xor_si256(c2[4665],_mm256_xor_si256(c2[4890],_mm256_xor_si256(c2[4670],_mm256_xor_si256(c2[2267],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[4030],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[5591],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[4714],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[1655],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[3434],_mm256_xor_si256(c2[6734],_mm256_xor_si256(c2[5633],_mm256_xor_si256(c2[5413],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[4801],_mm256_xor_si256(c2[5677],_mm256_xor_si256(c2[5457],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[2843],_mm256_xor_si256(c2[3942],c2[3722]))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 22
|
||||
d2[242]=_mm256_xor_si256(c2[3982],c2[709]);
|
||||
|
||||
//row: 23
|
||||
d2[253]=_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[950],c2[4954]));
|
||||
|
||||
//row: 24
|
||||
d2[264]=_mm256_xor_si256(c2[3765],_mm256_xor_si256(c2[2687],c2[6579]));
|
||||
|
||||
//row: 25
|
||||
d2[275]=_mm256_xor_si256(c2[1762],c2[1874]);
|
||||
|
||||
//row: 26
|
||||
d2[286]=_mm256_xor_si256(c2[3746],_mm256_xor_si256(c2[3526],_mm256_xor_si256(c2[2649],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1102],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[4844],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[6850],_mm256_xor_si256(c2[6188],_mm256_xor_si256(c2[5311],_mm256_xor_si256(c2[2005],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[706],_mm256_xor_si256(c2[486],_mm256_xor_si256(c2[6648],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[6873],_mm256_xor_si256(c2[6653],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[5347],_mm256_xor_si256(c2[5127],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[4909],_mm256_xor_si256(c2[4689],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[6890],_mm256_xor_si256(c2[6013],_mm256_xor_si256(c2[4491],_mm256_xor_si256(c2[4271],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[1412],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[6917],_mm256_xor_si256(c2[6697],_mm256_xor_si256(c2[4951],_mm256_xor_si256(c2[4731],_mm256_xor_si256(c2[3854],_mm256_xor_si256(c2[4295],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[3418],_mm256_xor_si256(c2[6514],_mm256_xor_si256(c2[6294],_mm256_xor_si256(c2[5417],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[2555],_mm256_xor_si256(c2[1678],_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[5876],_mm256_xor_si256(c2[5656],_mm256_xor_si256(c2[4779],_mm256_xor_si256(c2[3018],_mm256_xor_si256(c2[2361],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[7002],_mm256_xor_si256(c2[6125],_mm256_xor_si256(c2[622],_mm256_xor_si256(c2[6784],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[621],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[3723],_mm256_xor_si256(c2[3503],_mm256_xor_si256(c2[2626],_mm256_xor_si256(c2[5923],_mm256_xor_si256(c2[5703],_mm256_xor_si256(c2[4826],_mm256_xor_si256(c2[6582],_mm256_xor_si256(c2[5925],c2[5705])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 27
|
||||
d2[297]=_mm256_xor_si256(c2[2201],c2[1895]);
|
||||
|
||||
//row: 28
|
||||
d2[308]=_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[5324],c2[4734]));
|
||||
|
||||
//row: 29
|
||||
d2[319]=_mm256_xor_si256(c2[2424],c2[313]);
|
||||
|
||||
//row: 30
|
||||
d2[330]=_mm256_xor_si256(c2[4446],_mm256_xor_si256(c2[2975],_mm256_xor_si256(c2[6536],c2[6578])));
|
||||
|
||||
//row: 31
|
||||
d2[341]=_mm256_xor_si256(c2[3309],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[4627],_mm256_xor_si256(c2[471],_mm256_xor_si256(c2[5971],_mm256_xor_si256(c2[2008],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[4645],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[4910],_mm256_xor_si256(c2[4472],_mm256_xor_si256(c2[6673],_mm256_xor_si256(c2[4054],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[538],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[4514],_mm256_xor_si256(c2[4298],_mm256_xor_si256(c2[4078],_mm256_xor_si256(c2[6077],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[5439],_mm256_xor_si256(c2[3021],_mm256_xor_si256(c2[2801],_mm256_xor_si256(c2[6785],_mm256_xor_si256(c2[405],_mm256_xor_si256(c2[1281],_mm256_xor_si256(c2[1061],_mm256_xor_si256(c2[3286],_mm256_xor_si256(c2[5486],_mm256_xor_si256(c2[6585],c2[6365])))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 32
|
||||
d2[352]=_mm256_xor_si256(c2[2209],_mm256_xor_si256(c2[1989],_mm256_xor_si256(c2[6824],_mm256_xor_si256(c2[6604],_mm256_xor_si256(c2[3307],_mm256_xor_si256(c2[4403],_mm256_xor_si256(c2[6410],_mm256_xor_si256(c2[6190],_mm256_xor_si256(c2[4651],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[6208],_mm256_xor_si256(c2[5988],_mm256_xor_si256(c2[5993],_mm256_xor_si256(c2[3810],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[5353],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2734],_mm256_xor_si256(c2[6914],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[3414],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2758],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[4977],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[1018],_mm256_xor_si256(c2[6736],_mm256_xor_si256(c2[4339],_mm256_xor_si256(c2[4119],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[5685],_mm256_xor_si256(c2[5465],_mm256_xor_si256(c2[6124],_mm256_xor_si256(c2[6780],_mm256_xor_si256(c2[2186],_mm256_xor_si256(c2[1966],_mm256_xor_si256(c2[4386],_mm256_xor_si256(c2[4166],c2[5045]))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 33
|
||||
d2[363]=_mm256_xor_si256(c2[5285],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[6603],_mm256_xor_si256(c2[2447],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[3764],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[2027],_mm256_xor_si256(c2[6886],_mm256_xor_si256(c2[6448],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[6030],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[6490],_mm256_xor_si256(c2[6054],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[2993],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[4777],_mm256_xor_si256(c2[2138],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3037],_mm256_xor_si256(c2[5262],_mm256_xor_si256(c2[423],c2[1302]))))))))))))))))))))))))))));
|
||||
|
||||
//row: 34
|
||||
d2[374]=_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[5721],_mm256_xor_si256(c2[5501],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[2204],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[2420],_mm256_xor_si256(c2[5307],_mm256_xor_si256(c2[5087],_mm256_xor_si256(c2[3551],_mm256_xor_si256(c2[3548],_mm256_xor_si256(c2[2012],_mm256_xor_si256(c2[6404],_mm256_xor_si256(c2[5088],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[5105],_mm256_xor_si256(c2[4885],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[4890],_mm256_xor_si256(c2[3574],_mm256_xor_si256(c2[3354],_mm256_xor_si256(c2[2707],_mm256_xor_si256(c2[2487],_mm256_xor_si256(c2[951],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[2049],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[2714],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[1631],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[5811],_mm256_xor_si256(c2[4275],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[3618],_mm256_xor_si256(c2[3398],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[1655],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[119],_mm256_xor_si256(c2[3874],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[6954],_mm256_xor_si256(c2[5418],_mm256_xor_si256(c2[5633],_mm256_xor_si256(c2[4317],_mm256_xor_si256(c2[4097],_mm256_xor_si256(c2[3236],_mm256_xor_si256(c2[3016],_mm256_xor_si256(c2[1480],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[6101],_mm256_xor_si256(c2[5881],_mm256_xor_si256(c2[4582],_mm256_xor_si256(c2[4362],_mm256_xor_si256(c2[2826],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[3485],_mm256_xor_si256(c2[5677],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[6366],_mm256_xor_si256(c2[3283],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[2626],c2[2406]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 35
|
||||
d2[385]=_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[6165],_mm256_xor_si256(c2[2868],_mm256_xor_si256(c2[5971],_mm256_xor_si256(c2[5751],_mm256_xor_si256(c2[4212],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[6625],_mm256_xor_si256(c2[5769],_mm256_xor_si256(c2[5549],_mm256_xor_si256(c2[5554],_mm256_xor_si256(c2[3371],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[2713],_mm256_xor_si256(c2[4914],_mm256_xor_si256(c2[2295],_mm256_xor_si256(c2[6475],_mm256_xor_si256(c2[5598],_mm256_xor_si256(c2[2755],_mm256_xor_si256(c2[2319],_mm256_xor_si256(c2[5394],_mm256_xor_si256(c2[4538],_mm256_xor_si256(c2[4318],_mm256_xor_si256(c2[579],_mm256_xor_si256(c2[6297],_mm256_xor_si256(c2[3680],_mm256_xor_si256(c2[1042],_mm256_xor_si256(c2[5026],_mm256_xor_si256(c2[5685],_mm256_xor_si256(c2[6341],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[3727],c2[4606]))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 36
|
||||
d2[396]=_mm256_xor_si256(c2[1982],_mm256_xor_si256(c2[5768],c2[378]));
|
||||
|
||||
//row: 37
|
||||
d2[407]=_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[5065],_mm256_xor_si256(c2[4841],_mm256_xor_si256(c2[1768],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[4651],_mm256_xor_si256(c2[4427],_mm256_xor_si256(c2[3112],_mm256_xor_si256(c2[2888],_mm256_xor_si256(c2[5968],_mm256_xor_si256(c2[5964],_mm256_xor_si256(c2[5744],_mm256_xor_si256(c2[4449],_mm256_xor_si256(c2[4225],_mm256_xor_si256(c2[4454],_mm256_xor_si256(c2[4450],_mm256_xor_si256(c2[4230],_mm256_xor_si256(c2[2051],_mm256_xor_si256(c2[1827],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[1389],_mm256_xor_si256(c2[3814],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[5375],_mm256_xor_si256(c2[5151],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[4494],_mm256_xor_si256(c2[4274],_mm256_xor_si256(c2[1655],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[3218],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[6518],_mm256_xor_si256(c2[6294],_mm256_xor_si256(c2[5197],_mm256_xor_si256(c2[5193],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[2356],_mm256_xor_si256(c2[6981],_mm256_xor_si256(c2[6977],_mm256_xor_si256(c2[6757],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[3702],_mm256_xor_si256(c2[4585],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[5241],_mm256_xor_si256(c2[5237],_mm256_xor_si256(c2[5017],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[3506],_mm256_xor_si256(c2[3502],c2[3282])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 38
|
||||
d2[418]=_mm256_xor_si256(c2[3305],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[4403],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[247],_mm256_xor_si256(c2[5747],_mm256_xor_si256(c2[1564],_mm256_xor_si256(c2[3545],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[45],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[4906],_mm256_xor_si256(c2[4686],_mm256_xor_si256(c2[4248],_mm256_xor_si256(c2[6449],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[4290],_mm256_xor_si256(c2[3854],_mm256_xor_si256(c2[1650],_mm256_xor_si256(c2[6073],_mm256_xor_si256(c2[5853],_mm256_xor_si256(c2[2114],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[5215],_mm256_xor_si256(c2[2577],_mm256_xor_si256(c2[6561],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[837],_mm256_xor_si256(c2[3282],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[5262],c2[6141]))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 39
|
||||
d2[429]=_mm256_xor_si256(c2[1108],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[5723],_mm256_xor_si256(c2[5503],_mm256_xor_si256(c2[2206],_mm256_xor_si256(c2[2863],_mm256_xor_si256(c2[5309],_mm256_xor_si256(c2[5089],_mm256_xor_si256(c2[3550],_mm256_xor_si256(c2[6406],_mm256_xor_si256(c2[5107],_mm256_xor_si256(c2[4887],_mm256_xor_si256(c2[4892],_mm256_xor_si256(c2[2709],_mm256_xor_si256(c2[2489],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[2051],_mm256_xor_si256(c2[4252],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[1633],_mm256_xor_si256(c2[5813],_mm256_xor_si256(c2[4936],_mm256_xor_si256(c2[2313],_mm256_xor_si256(c2[2093],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[3876],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[137],_mm256_xor_si256(c2[6956],_mm256_xor_si256(c2[5635],_mm256_xor_si256(c2[3238],_mm256_xor_si256(c2[3018],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[4584],_mm256_xor_si256(c2[4364],_mm256_xor_si256(c2[5023],_mm256_xor_si256(c2[5679],_mm256_xor_si256(c2[1085],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[3285],_mm256_xor_si256(c2[3065],c2[3944]))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 40
|
||||
d2[440]=_mm256_xor_si256(c2[5069],_mm256_xor_si256(c2[2867],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[443],_mm256_xor_si256(c2[6387],_mm256_xor_si256(c2[4185],_mm256_xor_si256(c2[2231],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[692],_mm256_xor_si256(c2[5529],_mm256_xor_si256(c2[3548],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2029],_mm256_xor_si256(c2[6866],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[6871],_mm256_xor_si256(c2[49],_mm256_xor_si256(c2[6670],_mm256_xor_si256(c2[4468],_mm256_xor_si256(c2[6232],_mm256_xor_si256(c2[4030],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[6231],_mm256_xor_si256(c2[5814],_mm256_xor_si256(c2[3612],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[2078],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[6915],_mm256_xor_si256(c2[6274],_mm256_xor_si256(c2[4072],_mm256_xor_si256(c2[5838],_mm256_xor_si256(c2[3856],_mm256_xor_si256(c2[3636],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[5635],_mm256_xor_si256(c2[4098],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[2777],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[575],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[4997],_mm256_xor_si256(c2[4561],_mm256_xor_si256(c2[2579],_mm256_xor_si256(c2[2359],_mm256_xor_si256(c2[1506],_mm256_xor_si256(c2[6343],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[7002],_mm256_xor_si256(c2[2821],_mm256_xor_si256(c2[839],_mm256_xor_si256(c2[619],_mm256_xor_si256(c2[5046],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[207],_mm256_xor_si256(c2[5044],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[6143],c2[5923]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 41
|
||||
d2[451]=_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[4866],_mm256_xor_si256(c2[3327],_mm256_xor_si256(c2[6183],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[4664],_mm256_xor_si256(c2[4669],_mm256_xor_si256(c2[2486],_mm256_xor_si256(c2[2266],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[4029],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[5590],_mm256_xor_si256(c2[4713],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[3433],_mm256_xor_si256(c2[6733],_mm256_xor_si256(c2[5412],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[4800],_mm256_xor_si256(c2[5456],_mm256_xor_si256(c2[862],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[2842],c2[3721]))))))))))))))))))))))))))))))))));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user