adding LDPC encoder and decoder (from mwc18 branch)
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
#include "PHY/sse_intrin.h"
|
||||
// generated code for Zc=224, byte encoding
|
||||
static inline void ldpc224_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[9554],_mm256_xor_si256(c2[4008],_mm256_xor_si256(c2[4626],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[4942],_mm256_xor_si256(c2[3408],_mm256_xor_si256(c2[5558],_mm256_xor_si256(c2[9270],_mm256_xor_si256(c2[4033],_mm256_xor_si256(c2[9576],_mm256_xor_si256(c2[8360],_mm256_xor_si256(c2[7130],_mm256_xor_si256(c2[1587],_mm256_xor_si256(c2[4369],_mm256_xor_si256(c2[4989],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[7157],_mm256_xor_si256(c2[6235],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[8097],_mm256_xor_si256(c2[4089],_mm256_xor_si256(c2[9034],_mm256_xor_si256(c2[9648],_mm256_xor_si256(c2[4414],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[7816],_mm256_xor_si256(c2[5040],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[7212],_mm256_xor_si256(c2[5367],_mm256_xor_si256(c2[4150],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[7552],_mm256_xor_si256(c2[4472],_mm256_xor_si256(c2[8474],_mm256_xor_si256(c2[6636],_mm256_xor_si256(c2[9102],_mm256_xor_si256(c2[6642],_mm256_xor_si256(c2[7272],_mm256_xor_si256(c2[4188],_mm256_xor_si256(c2[6038],_mm256_xor_si256(c2[4818],_mm256_xor_si256(c2[6978],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[4522],_mm256_xor_si256(c2[2982],_mm256_xor_si256(c2[4216],_mm256_xor_si256(c2[2074],_mm256_xor_si256(c2[7003],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[4260],_mm256_xor_si256(c2[6723],_mm256_xor_si256(c2[1179],_mm256_xor_si256(c2[2120],_mm256_xor_si256(c2[9814],_mm256_xor_si256(c2[9820],_mm256_xor_si256(c2[2747],_mm256_xor_si256(c2[8290],_mm256_xor_si256(c2[9520],_mm256_xor_si256(c2[5532],_mm256_xor_si256(c2[8615],c2[9538]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 1
|
||||
d2[7]=_mm256_xor_si256(c2[9554],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[4316],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[4942],_mm256_xor_si256(c2[5250],_mm256_xor_si256(c2[3716],_mm256_xor_si256(c2[5866],_mm256_xor_si256(c2[9270],_mm256_xor_si256(c2[9578],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[8360],_mm256_xor_si256(c2[8668],_mm256_xor_si256(c2[7438],_mm256_xor_si256(c2[1895],_mm256_xor_si256(c2[4677],_mm256_xor_si256(c2[5297],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[3460],_mm256_xor_si256(c2[7465],_mm256_xor_si256(c2[6543],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[8405],_mm256_xor_si256(c2[4397],_mm256_xor_si256(c2[9342],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[8124],_mm256_xor_si256(c2[5348],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[7520],_mm256_xor_si256(c2[5675],_mm256_xor_si256(c2[4150],_mm256_xor_si256(c2[4458],_mm256_xor_si256(c2[2298],_mm256_xor_si256(c2[1065],_mm256_xor_si256(c2[7552],_mm256_xor_si256(c2[7860],_mm256_xor_si256(c2[4780],_mm256_xor_si256(c2[8782],_mm256_xor_si256(c2[6636],_mm256_xor_si256(c2[6944],_mm256_xor_si256(c2[9410],_mm256_xor_si256(c2[6950],_mm256_xor_si256(c2[7272],_mm256_xor_si256(c2[7580],_mm256_xor_si256(c2[4496],_mm256_xor_si256(c2[6346],_mm256_xor_si256(c2[5126],_mm256_xor_si256(c2[7286],_mm256_xor_si256(c2[2046],_mm256_xor_si256(c2[4522],_mm256_xor_si256(c2[4830],_mm256_xor_si256(c2[3290],_mm256_xor_si256(c2[4524],_mm256_xor_si256(c2[2074],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[7311],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[4260],_mm256_xor_si256(c2[4568],_mm256_xor_si256(c2[7031],_mm256_xor_si256(c2[1487],_mm256_xor_si256(c2[2120],_mm256_xor_si256(c2[2428],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[2747],_mm256_xor_si256(c2[3055],_mm256_xor_si256(c2[8598],_mm256_xor_si256(c2[9828],_mm256_xor_si256(c2[5532],_mm256_xor_si256(c2[5840],_mm256_xor_si256(c2[8923],c2[9846])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 2
|
||||
d2[14]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[4316],_mm256_xor_si256(c2[4626],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[5250],_mm256_xor_si256(c2[3408],_mm256_xor_si256(c2[3716],_mm256_xor_si256(c2[5558],_mm256_xor_si256(c2[5866],_mm256_xor_si256(c2[9578],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[9576],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[8668],_mm256_xor_si256(c2[7438],_mm256_xor_si256(c2[1587],_mm256_xor_si256(c2[1895],_mm256_xor_si256(c2[4677],_mm256_xor_si256(c2[4989],_mm256_xor_si256(c2[5297],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[3460],_mm256_xor_si256(c2[7465],_mm256_xor_si256(c2[6235],_mm256_xor_si256(c2[6543],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[8097],_mm256_xor_si256(c2[8405],_mm256_xor_si256(c2[4089],_mm256_xor_si256(c2[4397],_mm256_xor_si256(c2[9342],_mm256_xor_si256(c2[9648],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[4414],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[7816],_mm256_xor_si256(c2[8124],_mm256_xor_si256(c2[5040],_mm256_xor_si256(c2[5348],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[7520],_mm256_xor_si256(c2[5367],_mm256_xor_si256(c2[5675],_mm256_xor_si256(c2[4458],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[2298],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[1065],_mm256_xor_si256(c2[7860],_mm256_xor_si256(c2[4780],_mm256_xor_si256(c2[8474],_mm256_xor_si256(c2[8782],_mm256_xor_si256(c2[6944],_mm256_xor_si256(c2[9410],_mm256_xor_si256(c2[6642],_mm256_xor_si256(c2[6950],_mm256_xor_si256(c2[7580],_mm256_xor_si256(c2[4188],_mm256_xor_si256(c2[4496],_mm256_xor_si256(c2[6038],_mm256_xor_si256(c2[6346],_mm256_xor_si256(c2[5126],_mm256_xor_si256(c2[6978],_mm256_xor_si256(c2[7286],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[2046],_mm256_xor_si256(c2[4830],_mm256_xor_si256(c2[3290],_mm256_xor_si256(c2[4216],_mm256_xor_si256(c2[4524],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[7311],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[4568],_mm256_xor_si256(c2[6723],_mm256_xor_si256(c2[7031],_mm256_xor_si256(c2[1179],_mm256_xor_si256(c2[1487],_mm256_xor_si256(c2[2428],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[9820],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[3055],_mm256_xor_si256(c2[8290],_mm256_xor_si256(c2[8598],_mm256_xor_si256(c2[9520],_mm256_xor_si256(c2[9828],_mm256_xor_si256(c2[5840],_mm256_xor_si256(c2[8923],_mm256_xor_si256(c2[9538],c2[9846]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 3
|
||||
d2[21]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[4316],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[5250],_mm256_xor_si256(c2[3716],_mm256_xor_si256(c2[5558],_mm256_xor_si256(c2[5866],_mm256_xor_si256(c2[9578],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[8668],_mm256_xor_si256(c2[7438],_mm256_xor_si256(c2[1587],_mm256_xor_si256(c2[1895],_mm256_xor_si256(c2[4677],_mm256_xor_si256(c2[5297],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[3460],_mm256_xor_si256(c2[7465],_mm256_xor_si256(c2[6543],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[8405],_mm256_xor_si256(c2[4089],_mm256_xor_si256(c2[4397],_mm256_xor_si256(c2[9342],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[4414],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[8124],_mm256_xor_si256(c2[5040],_mm256_xor_si256(c2[5348],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[7520],_mm256_xor_si256(c2[5675],_mm256_xor_si256(c2[4458],_mm256_xor_si256(c2[2298],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[1065],_mm256_xor_si256(c2[7860],_mm256_xor_si256(c2[4780],_mm256_xor_si256(c2[8474],_mm256_xor_si256(c2[8782],_mm256_xor_si256(c2[6944],_mm256_xor_si256(c2[9410],_mm256_xor_si256(c2[6642],_mm256_xor_si256(c2[6950],_mm256_xor_si256(c2[7580],_mm256_xor_si256(c2[4496],_mm256_xor_si256(c2[6038],_mm256_xor_si256(c2[6346],_mm256_xor_si256(c2[5126],_mm256_xor_si256(c2[7286],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[2046],_mm256_xor_si256(c2[4830],_mm256_xor_si256(c2[3290],_mm256_xor_si256(c2[4524],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[7311],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[4568],_mm256_xor_si256(c2[7031],_mm256_xor_si256(c2[1179],_mm256_xor_si256(c2[1487],_mm256_xor_si256(c2[2428],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[3055],_mm256_xor_si256(c2[8598],_mm256_xor_si256(c2[9520],_mm256_xor_si256(c2[9828],_mm256_xor_si256(c2[5840],_mm256_xor_si256(c2[8923],_mm256_xor_si256(c2[9538],c2[9846])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 4
|
||||
d2[28]=_mm256_xor_si256(c2[3085],c2[3094]);
|
||||
|
||||
//row: 5
|
||||
d2[35]=_mm256_xor_si256(c2[7396],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[2468],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[2791],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[3407],_mm256_xor_si256(c2[8331],_mm256_xor_si256(c2[7112],_mm256_xor_si256(c2[1882],_mm256_xor_si256(c2[7425],_mm256_xor_si256(c2[6202],_mm256_xor_si256(c2[4972],_mm256_xor_si256(c2[9284],_mm256_xor_si256(c2[6820],_mm256_xor_si256(c2[2218],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[9300],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[4999],_mm256_xor_si256(c2[4077],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[5939],_mm256_xor_si256(c2[1938],_mm256_xor_si256(c2[6876],_mm256_xor_si256(c2[7490],_mm256_xor_si256(c2[2256],_mm256_xor_si256(c2[9353],_mm256_xor_si256(c2[5658],_mm256_xor_si256(c2[2889],_mm256_xor_si256(c2[7830],_mm256_xor_si256(c2[5054],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[1992],_mm256_xor_si256(c2[9694],_mm256_xor_si256(c2[8461],_mm256_xor_si256(c2[5394],_mm256_xor_si256(c2[2314],_mm256_xor_si256(c2[6316],_mm256_xor_si256(c2[4485],_mm256_xor_si256(c2[6944],_mm256_xor_si256(c2[4484],_mm256_xor_si256(c2[5098],_mm256_xor_si256(c2[5114],_mm256_xor_si256(c2[2030],_mm256_xor_si256(c2[3880],_mm256_xor_si256(c2[2660],_mm256_xor_si256(c2[4820],_mm256_xor_si256(c2[9442],_mm256_xor_si256(c2[2371],_mm256_xor_si256(c2[831],_mm256_xor_si256(c2[2058],_mm256_xor_si256(c2[9778],_mm256_xor_si256(c2[4845],_mm256_xor_si256(c2[7924],_mm256_xor_si256(c2[7005],_mm256_xor_si256(c2[8557],_mm256_xor_si256(c2[9789],_mm256_xor_si256(c2[1162],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[4565],_mm256_xor_si256(c2[8876],_mm256_xor_si256(c2[9817],_mm256_xor_si256(c2[7663],_mm256_xor_si256(c2[7662],_mm256_xor_si256(c2[589],_mm256_xor_si256(c2[6132],_mm256_xor_si256(c2[7369],_mm256_xor_si256(c2[3374],_mm256_xor_si256(c2[6457],_mm256_xor_si256(c2[7380],c2[914]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 6
|
||||
d2[42]=_mm256_xor_si256(c2[9244],_mm256_xor_si256(c2[7171],_mm256_xor_si256(c2[5379],_mm256_xor_si256(c2[6622],_mm256_xor_si256(c2[9731],_mm256_xor_si256(c2[6091],_mm256_xor_si256(c2[2720],c2[6443])))))));
|
||||
|
||||
//row: 7
|
||||
d2[49]=_mm256_xor_si256(c2[5236],_mm256_xor_si256(c2[3712],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[6892],c2[9440])))));
|
||||
|
||||
//row: 8
|
||||
d2[56]=_mm256_xor_si256(c2[3389],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[7705],_mm256_xor_si256(c2[7087],_mm256_xor_si256(c2[8316],_mm256_xor_si256(c2[7397],_mm256_xor_si256(c2[7705],_mm256_xor_si256(c2[6468],_mm256_xor_si256(c2[5549],_mm256_xor_si256(c2[5857],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[8639],_mm256_xor_si256(c2[8028],_mm256_xor_si256(c2[7098],_mm256_xor_si256(c2[6179],_mm256_xor_si256(c2[6487],_mm256_xor_si256(c2[9255],_mm256_xor_si256(c2[8336],_mm256_xor_si256(c2[8644],_mm256_xor_si256(c2[9564],_mm256_xor_si256(c2[3112],_mm256_xor_si256(c2[2494],_mm256_xor_si256(c2[7730],_mm256_xor_si256(c2[7112],_mm256_xor_si256(c2[3418],_mm256_xor_si256(c2[2492],_mm256_xor_si256(c2[2800],_mm256_xor_si256(c2[2202],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[972],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[5284],_mm256_xor_si256(c2[4358],_mm256_xor_si256(c2[4666],_mm256_xor_si256(c2[1274],_mm256_xor_si256(c2[8066],_mm256_xor_si256(c2[7448],_mm256_xor_si256(c2[8686],_mm256_xor_si256(c2[7760],_mm256_xor_si256(c2[8068],_mm256_xor_si256(c2[5293],_mm256_xor_si256(c2[4374],_mm256_xor_si256(c2[4682],_mm256_xor_si256(c2[6849],_mm256_xor_si256(c2[6231],_mm256_xor_si256(c2[999],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[9006],_mm256_xor_si256(c2[9314],_mm256_xor_si256(c2[6861],_mm256_xor_si256(c2[6250],_mm256_xor_si256(c2[1932],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[7786],_mm256_xor_si256(c2[6860],_mm256_xor_si256(c2[7168],_mm256_xor_si256(c2[2876],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[3490],_mm256_xor_si256(c2[2564],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[8111],_mm256_xor_si256(c2[7185],_mm256_xor_si256(c2[7493],_mm256_xor_si256(c2[5353],_mm256_xor_si256(c2[4735],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[8737],_mm256_xor_si256(c2[7818],_mm256_xor_si256(c2[8126],_mm256_xor_si256(c2[3823],_mm256_xor_si256(c2[3212],_mm256_xor_si256(c2[1054],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[9064],_mm256_xor_si256(c2[8138],_mm256_xor_si256(c2[8446],_mm256_xor_si256(c2[7840],_mm256_xor_si256(c2[7229],_mm256_xor_si256(c2[5687],_mm256_xor_si256(c2[4761],_mm256_xor_si256(c2[5069],_mm256_xor_si256(c2[4454],_mm256_xor_si256(c2[3528],_mm256_xor_si256(c2[3836],_mm256_xor_si256(c2[1387],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[8162],_mm256_xor_si256(c2[7551],_mm256_xor_si256(c2[2316],_mm256_xor_si256(c2[1390],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[478],_mm256_xor_si256(c2[9722],_mm256_xor_si256(c2[2944],_mm256_xor_si256(c2[2326],_mm256_xor_si256(c2[477],_mm256_xor_si256(c2[9413],_mm256_xor_si256(c2[9721],_mm256_xor_si256(c2[7874],_mm256_xor_si256(c2[1107],_mm256_xor_si256(c2[496],_mm256_xor_si256(c2[7885],_mm256_xor_si256(c2[6959],_mm256_xor_si256(c2[7267],_mm256_xor_si256(c2[9735],_mm256_xor_si256(c2[8809],_mm256_xor_si256(c2[9117],_mm256_xor_si256(c2[8515],_mm256_xor_si256(c2[7897],_mm256_xor_si256(c2[813],_mm256_xor_si256(c2[9749],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[5435],_mm256_xor_si256(c2[4509],_mm256_xor_si256(c2[4817],_mm256_xor_si256(c2[8219],_mm256_xor_si256(c2[7608],_mm256_xor_si256(c2[6679],_mm256_xor_si256(c2[6068],_mm256_xor_si256(c2[7913],_mm256_xor_si256(c2[6987],_mm256_xor_si256(c2[7295],_mm256_xor_si256(c2[5771],_mm256_xor_si256(c2[5153],_mm256_xor_si256(c2[845],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[2998],_mm256_xor_si256(c2[3306],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[4550],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[5782],_mm256_xor_si256(c2[4863],_mm256_xor_si256(c2[5171],_mm256_xor_si256(c2[7017],_mm256_xor_si256(c2[6091],_mm256_xor_si256(c2[6399],_mm256_xor_si256(c2[7957],_mm256_xor_si256(c2[7339],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[9494],_mm256_xor_si256(c2[9802],_mm256_xor_si256(c2[4876],_mm256_xor_si256(c2[3950],_mm256_xor_si256(c2[4258],_mm256_xor_si256(c2[5810],_mm256_xor_si256(c2[5199],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[3038],_mm256_xor_si256(c2[3655],_mm256_xor_si256(c2[2736],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[2423],_mm256_xor_si256(c2[6444],_mm256_xor_si256(c2[5826],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[1206],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[3362],_mm256_xor_si256(c2[2436],_mm256_xor_si256(c2[2744],_mm256_xor_si256(c2[9229],_mm256_xor_si256(c2[8611],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[1839],_mm256_xor_si256(c2[3380],_mm256_xor_si256(c2[2454],_mm256_xor_si256(c2[2762],c2[8303]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 9
|
||||
d2[63]=_mm256_xor_si256(c2[2772],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[6614],_mm256_xor_si256(c2[2929],_mm256_xor_si256(c2[7884],_mm256_xor_si256(c2[7943],_mm256_xor_si256(c2[4259],c2[8294])))))));
|
||||
|
||||
//row: 10
|
||||
d2[70]=_mm256_xor_si256(c2[5560],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[4373],_mm256_xor_si256(c2[5950],_mm256_xor_si256(c2[734],c2[2355])))));
|
||||
|
||||
//row: 11
|
||||
d2[77]=_mm256_xor_si256(c2[5854],_mm256_xor_si256(c2[2470],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[7087],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[7705],_mm256_xor_si256(c2[8933],_mm256_xor_si256(c2[5857],_mm256_xor_si256(c2[6161],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[7720],_mm256_xor_si256(c2[8028],_mm256_xor_si256(c2[9563],_mm256_xor_si256(c2[6487],_mm256_xor_si256(c2[1865],_mm256_xor_si256(c2[8644],_mm256_xor_si256(c2[3402],_mm256_xor_si256(c2[5577],_mm256_xor_si256(c2[2186],_mm256_xor_si256(c2[2494],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[7112],_mm256_xor_si256(c2[5883],_mm256_xor_si256(c2[2800],_mm256_xor_si256(c2[4667],_mm256_xor_si256(c2[1276],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[3430],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[7742],_mm256_xor_si256(c2[4666],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[7448],_mm256_xor_si256(c2[1289],_mm256_xor_si256(c2[8068],_mm256_xor_si256(c2[7758],_mm256_xor_si256(c2[4682],_mm256_xor_si256(c2[9314],_mm256_xor_si256(c2[5923],_mm256_xor_si256(c2[6231],_mm256_xor_si256(c2[3464],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[9314],_mm256_xor_si256(c2[9326],_mm256_xor_si256(c2[5942],_mm256_xor_si256(c2[6250],_mm256_xor_si256(c2[4397],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[396],_mm256_xor_si256(c2[7168],_mm256_xor_si256(c2[5334],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[5955],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[714],_mm256_xor_si256(c2[7493],_mm256_xor_si256(c2[7818],_mm256_xor_si256(c2[4735],_mm256_xor_si256(c2[4116],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[1347],_mm256_xor_si256(c2[8126],_mm256_xor_si256(c2[6288],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[3212],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[1667],_mm256_xor_si256(c2[8446],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[6921],_mm256_xor_si256(c2[7229],_mm256_xor_si256(c2[8152],_mm256_xor_si256(c2[5069],_mm256_xor_si256(c2[6919],_mm256_xor_si256(c2[3836],_mm256_xor_si256(c2[3852],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[772],_mm256_xor_si256(c2[7551],_mm256_xor_si256(c2[4774],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[2943],_mm256_xor_si256(c2[9414],_mm256_xor_si256(c2[9722],_mm256_xor_si256(c2[5409],_mm256_xor_si256(c2[2326],_mm256_xor_si256(c2[2942],_mm256_xor_si256(c2[9721],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[3572],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[496],_mm256_xor_si256(c2[495],_mm256_xor_si256(c2[7267],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[9117],_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[7897],_mm256_xor_si256(c2[3278],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[7900],_mm256_xor_si256(c2[4817],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[7300],_mm256_xor_si256(c2[7608],_mm256_xor_si256(c2[9144],_mm256_xor_si256(c2[6068],_mm256_xor_si256(c2[523],_mm256_xor_si256(c2[7295],_mm256_xor_si256(c2[8236],_mm256_xor_si256(c2[4845],_mm256_xor_si256(c2[5153],_mm256_xor_si256(c2[3310],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[3306],_mm256_xor_si256(c2[1149],_mm256_xor_si256(c2[7015],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[8247],_mm256_xor_si256(c2[5171],_mm256_xor_si256(c2[9482],_mm256_xor_si256(c2[6399],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[7031],_mm256_xor_si256(c2[7339],_mm256_xor_si256(c2[3030],_mm256_xor_si256(c2[9802],_mm256_xor_si256(c2[7341],_mm256_xor_si256(c2[4258],_mm256_xor_si256(c2[8275],_mm256_xor_si256(c2[4891],_mm256_xor_si256(c2[5199],_mm256_xor_si256(c2[6121],_mm256_xor_si256(c2[3038],_mm256_xor_si256(c2[6120],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[8909],_mm256_xor_si256(c2[5518],_mm256_xor_si256(c2[5826],_mm256_xor_si256(c2[4597],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[5827],_mm256_xor_si256(c2[2744],_mm256_xor_si256(c2[1839],_mm256_xor_si256(c2[8303],_mm256_xor_si256(c2[8611],_mm256_xor_si256(c2[4915],_mm256_xor_si256(c2[1839],_mm256_xor_si256(c2[5838],_mm256_xor_si256(c2[2762],c2[295])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 12
|
||||
d2[84]=_mm256_xor_si256(c2[4316],_mm256_xor_si256(c2[4639],_mm256_xor_si256(c2[2608],_mm256_xor_si256(c2[1078],_mm256_xor_si256(c2[8806],c2[7033])))));
|
||||
|
||||
//row: 13
|
||||
d2[91]=_mm256_xor_si256(c2[4006],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[8630],_mm256_xor_si256(c2[9241],_mm256_xor_si256(c2[7393],_mm256_xor_si256(c2[5238],_mm256_xor_si256(c2[9256],_mm256_xor_si256(c2[9564],_mm256_xor_si256(c2[8023],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[3729],_mm256_xor_si256(c2[4037],_mm256_xor_si256(c2[8655],_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[2819],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[6202],_mm256_xor_si256(c2[7435],_mm256_xor_si256(c2[8991],_mm256_xor_si256(c2[9604],_mm256_xor_si256(c2[6218],_mm256_xor_si256(c2[7466],_mm256_xor_si256(c2[7774],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[7478],_mm256_xor_si256(c2[7786],_mm256_xor_si256(c2[2857],_mm256_xor_si256(c2[8711],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[4415],_mm256_xor_si256(c2[9036],_mm256_xor_si256(c2[2564],_mm256_xor_si256(c2[6278],_mm256_xor_si256(c2[2576],_mm256_xor_si256(c2[9662],_mm256_xor_si256(c2[4440],_mm256_xor_si256(c2[4748],_mm256_xor_si256(c2[1979],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[8457],_mm256_xor_si256(c2[8765],_mm256_xor_si256(c2[6612],_mm256_xor_si256(c2[5379],_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[9087],_mm256_xor_si256(c2[3234],_mm256_xor_si256(c2[1095],_mm256_xor_si256(c2[1403],_mm256_xor_si256(c2[3869],_mm256_xor_si256(c2[1402],_mm256_xor_si256(c2[1724],_mm256_xor_si256(c2[2032],_mm256_xor_si256(c2[8810],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[9440],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[6360],_mm256_xor_si256(c2[8836],_mm256_xor_si256(c2[9144],_mm256_xor_si256(c2[7604],_mm256_xor_si256(c2[8838],_mm256_xor_si256(c2[6388],_mm256_xor_si256(c2[6696],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[4849],_mm256_xor_si256(c2[5475],_mm256_xor_si256(c2[6707],_mm256_xor_si256(c2[7942],_mm256_xor_si256(c2[8574],_mm256_xor_si256(c2[8882],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[5801],_mm256_xor_si256(c2[6427],_mm256_xor_si256(c2[6735],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[4580],_mm256_xor_si256(c2[7061],_mm256_xor_si256(c2[7369],_mm256_xor_si256(c2[3057],_mm256_xor_si256(c2[4287],_mm256_xor_si256(c2[7986],_mm256_xor_si256(c2[9846],_mm256_xor_si256(c2[299],_mm256_xor_si256(c2[3375],c2[4298])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 14
|
||||
d2[98]=_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[4793],_mm256_xor_si256(c2[6068],_mm256_xor_si256(c2[9777],_mm256_xor_si256(c2[6091],c2[3683])))));
|
||||
|
||||
//row: 15
|
||||
d2[105]=_mm256_xor_si256(c2[5238],_mm256_xor_si256(c2[9554],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[8009],_mm256_xor_si256(c2[8317],_mm256_xor_si256(c2[8010],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[8947],_mm256_xor_si256(c2[941],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[7409],_mm256_xor_si256(c2[4961],_mm256_xor_si256(c2[9579],_mm256_xor_si256(c2[5267],_mm256_xor_si256(c2[4051],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[6818],_mm256_xor_si256(c2[7126],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[6834],_mm256_xor_si256(c2[7142],_mm256_xor_si256(c2[8698],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[1919],_mm256_xor_si256(c2[8710],_mm256_xor_si256(c2[3781],_mm256_xor_si256(c2[9327],_mm256_xor_si256(c2[9635],_mm256_xor_si256(c2[4718],_mm256_xor_si256(c2[5339],_mm256_xor_si256(c2[9652],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[7202],_mm256_xor_si256(c2[3500],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[731],_mm256_xor_si256(c2[5672],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[1051],_mm256_xor_si256(c2[9689],_mm256_xor_si256(c2[7536],_mm256_xor_si256(c2[5995],_mm256_xor_si256(c2[6303],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[3236],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[3850],_mm256_xor_si256(c2[4158],_mm256_xor_si256(c2[2327],_mm256_xor_si256(c2[4793],_mm256_xor_si256(c2[2018],_mm256_xor_si256(c2[2326],_mm256_xor_si256(c2[2956],_mm256_xor_si256(c2[9734],_mm256_xor_si256(c2[1414],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[5424],_mm256_xor_si256(c2[509],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[6976],_mm256_xor_si256(c2[7284],_mm256_xor_si256(c2[213],_mm256_xor_si256(c2[8528],_mm256_xor_si256(c2[9762],_mm256_xor_si256(c2[7620],_mm256_xor_si256(c2[2694],_mm256_xor_si256(c2[5465],_mm256_xor_si256(c2[5773],_mm256_xor_si256(c2[6399],_mm256_xor_si256(c2[7631],_mm256_xor_si256(c2[8558],_mm256_xor_si256(c2[8866],_mm256_xor_si256(c2[9806],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[6417],_mm256_xor_si256(c2[6725],_mm256_xor_si256(c2[5494],_mm256_xor_si256(c2[7659],_mm256_xor_si256(c2[5505],_mm256_xor_si256(c2[5504],_mm256_xor_si256(c2[8293],_mm256_xor_si256(c2[3981],_mm256_xor_si256(c2[4903],_mm256_xor_si256(c2[5211],_mm256_xor_si256(c2[1223],_mm256_xor_si256(c2[4299],_mm256_xor_si256(c2[4914],c2[5222]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 16
|
||||
d2[112]=_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[5544],_mm256_xor_si256(c2[6162],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[6485],_mm256_xor_si256(c2[4944],_mm256_xor_si256(c2[7101],_mm256_xor_si256(c2[8026],_mm256_xor_si256(c2[958],_mm256_xor_si256(c2[5576],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[8666],_mm256_xor_si256(c2[3123],_mm256_xor_si256(c2[1279],_mm256_xor_si256(c2[5912],_mm256_xor_si256(c2[6525],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[4695],_mm256_xor_si256(c2[8700],_mm256_xor_si256(c2[7771],_mm256_xor_si256(c2[4707],_mm256_xor_si256(c2[9633],_mm256_xor_si256(c2[5632],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[1336],_mm256_xor_si256(c2[5950],_mm256_xor_si256(c2[3192],_mm256_xor_si256(c2[9352],_mm256_xor_si256(c2[6583],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[8755],_mm256_xor_si256(c2[6903],_mm256_xor_si256(c2[5686],_mm256_xor_si256(c2[3533],_mm256_xor_si256(c2[2300],_mm256_xor_si256(c2[9088],_mm256_xor_si256(c2[6008],_mm256_xor_si256(c2[155],_mm256_xor_si256(c2[3543],_mm256_xor_si256(c2[8179],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[8178],_mm256_xor_si256(c2[8808],_mm256_xor_si256(c2[5731],_mm256_xor_si256(c2[7574],_mm256_xor_si256(c2[6361],_mm256_xor_si256(c2[8514],_mm256_xor_si256(c2[3281],_mm256_xor_si256(c2[6065],_mm256_xor_si256(c2[4525],_mm256_xor_si256(c2[5759],_mm256_xor_si256(c2[3617],_mm256_xor_si256(c2[8546],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[2396],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[4863],_mm256_xor_si256(c2[5796],_mm256_xor_si256(c2[8266],_mm256_xor_si256(c2[2722],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[4290],_mm256_xor_si256(c2[9833],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[9217],_mm256_xor_si256(c2[7075],_mm256_xor_si256(c2[296],c2[1219]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 17
|
||||
d2[119]=_mm256_xor_si256(c2[7393],_mm256_xor_si256(c2[4511],_mm256_xor_si256(c2[2694],_mm256_xor_si256(c2[9787],c2[1526]))));
|
||||
|
||||
//row: 18
|
||||
d2[126]=_mm256_xor_si256(c2[2176],_mm256_xor_si256(c2[4483],_mm256_xor_si256(c2[2652],_mm256_xor_si256(c2[4876],c2[8279]))));
|
||||
|
||||
//row: 19
|
||||
d2[133]=_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[1966],c2[2604]))));
|
||||
|
||||
//row: 20
|
||||
d2[140]=_mm256_xor_si256(c2[6781],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[2176],_mm256_xor_si256(c2[635],_mm256_xor_si256(c2[2792],_mm256_xor_si256(c2[6497],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[6810],_mm256_xor_si256(c2[5587],_mm256_xor_si256(c2[4357],_mm256_xor_si256(c2[8669],_mm256_xor_si256(c2[5592],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[8685],_mm256_xor_si256(c2[379],_mm256_xor_si256(c2[4384],_mm256_xor_si256(c2[3462],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[5324],_mm256_xor_si256(c2[1316],_mm256_xor_si256(c2[6261],_mm256_xor_si256(c2[6875],_mm256_xor_si256(c2[1641],_mm256_xor_si256(c2[8738],_mm256_xor_si256(c2[5043],_mm256_xor_si256(c2[2274],_mm256_xor_si256(c2[7215],_mm256_xor_si256(c2[4439],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[7829],_mm256_xor_si256(c2[1377],_mm256_xor_si256(c2[9072],_mm256_xor_si256(c2[7846],_mm256_xor_si256(c2[4779],_mm256_xor_si256(c2[1699],_mm256_xor_si256(c2[5701],_mm256_xor_si256(c2[6936],_mm256_xor_si256(c2[3870],_mm256_xor_si256(c2[6329],_mm256_xor_si256(c2[3869],_mm256_xor_si256(c2[4499],_mm256_xor_si256(c2[1415],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[2045],_mm256_xor_si256(c2[4205],_mm256_xor_si256(c2[8820],_mm256_xor_si256(c2[1756],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[9156],_mm256_xor_si256(c2[4230],_mm256_xor_si256(c2[7309],_mm256_xor_si256(c2[7942],_mm256_xor_si256(c2[9174],_mm256_xor_si256(c2[547],_mm256_xor_si256(c2[1487],_mm256_xor_si256(c2[3950],_mm256_xor_si256(c2[8261],_mm256_xor_si256(c2[9202],_mm256_xor_si256(c2[7048],_mm256_xor_si256(c2[7047],_mm256_xor_si256(c2[9829],_mm256_xor_si256(c2[5517],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[2759],_mm256_xor_si256(c2[5842],c2[6765]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 21
|
||||
d2[147]=_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[8854],_mm256_xor_si256(c2[5825],c2[3377]))));
|
||||
|
||||
//row: 22
|
||||
d2[154]=_mm256_xor_si256(c2[6469],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[1106],c2[6402])));
|
||||
|
||||
//row: 23
|
||||
d2[161]=_mm256_xor_si256(c2[7408],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[2609],c2[8263])));
|
||||
|
||||
//row: 24
|
||||
d2[168]=_mm256_xor_si256(c2[8319],_mm256_xor_si256(c2[2773],_mm256_xor_si256(c2[3391],_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[5237],_mm256_xor_si256(c2[3714],_mm256_xor_si256(c2[2173],_mm256_xor_si256(c2[4330],_mm256_xor_si256(c2[8042],_mm256_xor_si256(c2[2805],_mm256_xor_si256(c2[8348],_mm256_xor_si256(c2[7132],_mm256_xor_si256(c2[5895],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[8978],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[3754],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[5922],_mm256_xor_si256(c2[5000],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[6862],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[7799],_mm256_xor_si256(c2[8420],_mm256_xor_si256(c2[3179],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[6581],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[8753],_mm256_xor_si256(c2[5984],_mm256_xor_si256(c2[4132],_mm256_xor_si256(c2[2915],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[9384],_mm256_xor_si256(c2[6317],_mm256_xor_si256(c2[3237],_mm256_xor_si256(c2[7239],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[5408],_mm256_xor_si256(c2[7874],_mm256_xor_si256(c2[5407],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[4803],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[5743],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[3294],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[2988],_mm256_xor_si256(c2[846],_mm256_xor_si256(c2[5768],_mm256_xor_si256(c2[8854],_mm256_xor_si256(c2[9480],_mm256_xor_si256(c2[857],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[3025],_mm256_xor_si256(c2[5488],_mm256_xor_si256(c2[9806],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[8586],_mm256_xor_si256(c2[8585],_mm256_xor_si256(c2[1512],_mm256_xor_si256(c2[7062],_mm256_xor_si256(c2[8292],_mm256_xor_si256(c2[4304],_mm256_xor_si256(c2[7380],c2[8303]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 25
|
||||
d2[175]=_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[408],c2[5434])));
|
||||
|
||||
//row: 26
|
||||
d2[182]=_mm256_xor_si256(c2[3391],_mm256_xor_si256(c2[4961],_mm256_xor_si256(c2[6222],c2[9761])));
|
||||
|
||||
//row: 27
|
||||
d2[189]=_mm256_xor_si256(c2[4948],_mm256_xor_si256(c2[4092],c2[4429]));
|
||||
|
||||
//row: 28
|
||||
d2[196]=_mm256_xor_si256(c2[5548],_mm256_xor_si256(c2[7760],_mm256_xor_si256(c2[7972],c2[5841])));
|
||||
|
||||
//row: 29
|
||||
d2[203]=_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[5550],_mm256_xor_si256(c2[6161],_mm256_xor_si256(c2[4005],_mm256_xor_si256(c2[4313],_mm256_xor_si256(c2[6484],_mm256_xor_si256(c2[4943],_mm256_xor_si256(c2[6792],_mm256_xor_si256(c2[7100],_mm256_xor_si256(c2[6794],_mm256_xor_si256(c2[957],_mm256_xor_si256(c2[5575],_mm256_xor_si256(c2[1263],_mm256_xor_si256(c2[47],_mm256_xor_si256(c2[8672],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[3122],_mm256_xor_si256(c2[5911],_mm256_xor_si256(c2[6524],_mm256_xor_si256(c2[2830],_mm256_xor_si256(c2[3138],_mm256_xor_si256(c2[4694],_mm256_xor_si256(c2[8699],_mm256_xor_si256(c2[7770],_mm256_xor_si256(c2[4706],_mm256_xor_si256(c2[9632],_mm256_xor_si256(c2[5323],_mm256_xor_si256(c2[5631],_mm256_xor_si256(c2[714],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[5648],_mm256_xor_si256(c2[5956],_mm256_xor_si256(c2[3198],_mm256_xor_si256(c2[9358],_mm256_xor_si256(c2[6274],_mm256_xor_si256(c2[6582],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[8754],_mm256_xor_si256(c2[6902],_mm256_xor_si256(c2[5685],_mm256_xor_si256(c2[3532],_mm256_xor_si256(c2[1991],_mm256_xor_si256(c2[2299],_mm256_xor_si256(c2[9087],_mm256_xor_si256(c2[6007],_mm256_xor_si256(c2[9708],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[8178],_mm256_xor_si256(c2[789],_mm256_xor_si256(c2[7869],_mm256_xor_si256(c2[8177],_mm256_xor_si256(c2[8807],_mm256_xor_si256(c2[5730],_mm256_xor_si256(c2[7272],_mm256_xor_si256(c2[7580],_mm256_xor_si256(c2[6360],_mm256_xor_si256(c2[8513],_mm256_xor_si256(c2[2972],_mm256_xor_si256(c2[3280],_mm256_xor_si256(c2[3584],_mm256_xor_si256(c2[6064],_mm256_xor_si256(c2[4524],_mm256_xor_si256(c2[5758],_mm256_xor_si256(c2[3616],_mm256_xor_si256(c2[8545],_mm256_xor_si256(c2[1461],_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[2395],_mm256_xor_si256(c2[3627],_mm256_xor_si256(c2[4554],_mm256_xor_si256(c2[4862],_mm256_xor_si256(c2[5802],_mm256_xor_si256(c2[8265],_mm256_xor_si256(c2[2413],_mm256_xor_si256(c2[2721],_mm256_xor_si256(c2[6721],_mm256_xor_si256(c2[3655],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[1500],_mm256_xor_si256(c2[4289],_mm256_xor_si256(c2[9832],_mm256_xor_si256(c2[899],_mm256_xor_si256(c2[1207],_mm256_xor_si256(c2[7074],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[910],c2[1218]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 30
|
||||
d2[210]=_mm256_xor_si256(c2[8319],_mm256_xor_si256(c2[2773],_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[3391],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[3714],_mm256_xor_si256(c2[1865],_mm256_xor_si256(c2[2173],_mm256_xor_si256(c2[4022],_mm256_xor_si256(c2[4330],_mm256_xor_si256(c2[8042],_mm256_xor_si256(c2[2805],_mm256_xor_si256(c2[8040],_mm256_xor_si256(c2[8348],_mm256_xor_si256(c2[7132],_mm256_xor_si256(c2[5895],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[3446],_mm256_xor_si256(c2[3754],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[5922],_mm256_xor_si256(c2[4692],_mm256_xor_si256(c2[5000],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[6554],_mm256_xor_si256(c2[6862],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[7799],_mm256_xor_si256(c2[8112],_mm256_xor_si256(c2[8420],_mm256_xor_si256(c2[2871],_mm256_xor_si256(c2[3179],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[6273],_mm256_xor_si256(c2[6581],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[8753],_mm256_xor_si256(c2[5984],_mm256_xor_si256(c2[3824],_mm256_xor_si256(c2[4132],_mm256_xor_si256(c2[2915],_mm256_xor_si256(c2[454],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[9076],_mm256_xor_si256(c2[9384],_mm256_xor_si256(c2[760],_mm256_xor_si256(c2[6317],_mm256_xor_si256(c2[3237],_mm256_xor_si256(c2[6931],_mm256_xor_si256(c2[7239],_mm256_xor_si256(c2[5408],_mm256_xor_si256(c2[7874],_mm256_xor_si256(c2[5099],_mm256_xor_si256(c2[5407],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[2652],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[4495],_mm256_xor_si256(c2[4803],_mm256_xor_si256(c2[5732],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[5435],_mm256_xor_si256(c2[5743],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[3294],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[2988],_mm256_xor_si256(c2[846],_mm256_xor_si256(c2[5768],_mm256_xor_si256(c2[8546],_mm256_xor_si256(c2[8854],_mm256_xor_si256(c2[9480],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[857],_mm256_xor_si256(c2[1784],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[3025],_mm256_xor_si256(c2[5180],_mm256_xor_si256(c2[5488],_mm256_xor_si256(c2[9498],_mm256_xor_si256(c2[9806],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[8586],_mm256_xor_si256(c2[8277],_mm256_xor_si256(c2[8585],_mm256_xor_si256(c2[1512],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[7062],_mm256_xor_si256(c2[7984],_mm256_xor_si256(c2[8292],_mm256_xor_si256(c2[4304],_mm256_xor_si256(c2[7380],_mm256_xor_si256(c2[7995],c2[8303])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 31
|
||||
d2[217]=_mm256_xor_si256(c2[4933],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[9242],_mm256_xor_si256(c2[4313],_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[4931],_mm256_xor_si256(c2[8012],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[5254],_mm256_xor_si256(c2[8642],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[5562],_mm256_xor_si256(c2[5870],_mm256_xor_si256(c2[4639],_mm256_xor_si256(c2[4649],_mm256_xor_si256(c2[9582],_mm256_xor_si256(c2[9274],_mm256_xor_si256(c2[4345],_mm256_xor_si256(c2[4962],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[3739],_mm256_xor_si256(c2[8672],_mm256_xor_si256(c2[2509],_mm256_xor_si256(c2[7435],_mm256_xor_si256(c2[6821],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[1892],_mm256_xor_si256(c2[9610],_mm256_xor_si256(c2[4681],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[5294],_mm256_xor_si256(c2[6837],_mm256_xor_si256(c2[1600],_mm256_xor_si256(c2[1908],_mm256_xor_si256(c2[8386],_mm256_xor_si256(c2[3464],_mm256_xor_si256(c2[2536],_mm256_xor_si256(c2[7462],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[6540],_mm256_xor_si256(c2[8405],_mm256_xor_si256(c2[3476],_mm256_xor_si256(c2[3476],_mm256_xor_si256(c2[8402],_mm256_xor_si256(c2[9330],_mm256_xor_si256(c2[4093],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[4413],_mm256_xor_si256(c2[9339],_mm256_xor_si256(c2[5027],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[9648],_mm256_xor_si256(c2[4411],_mm256_xor_si256(c2[4719],_mm256_xor_si256(c2[5335],_mm256_xor_si256(c2[6890],_mm256_xor_si256(c2[1961],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[8121],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[5044],_mm256_xor_si256(c2[5352],_mm256_xor_si256(c2[5367],_mm256_xor_si256(c2[438],_mm256_xor_si256(c2[2591],_mm256_xor_si256(c2[7524],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[5672],_mm256_xor_si256(c2[9384],_mm256_xor_si256(c2[4455],_mm256_xor_si256(c2[7224],_mm256_xor_si256(c2[2302],_mm256_xor_si256(c2[5998],_mm256_xor_si256(c2[761],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[2931],_mm256_xor_si256(c2[7857],_mm256_xor_si256(c2[9706],_mm256_xor_si256(c2[4777],_mm256_xor_si256(c2[3853],_mm256_xor_si256(c2[8471],_mm256_xor_si256(c2[8779],_mm256_xor_si256(c2[2022],_mm256_xor_si256(c2[6948],_mm256_xor_si256(c2[4481],_mm256_xor_si256(c2[9414],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[6639],_mm256_xor_si256(c2[6947],_mm256_xor_si256(c2[2651],_mm256_xor_si256(c2[7577],_mm256_xor_si256(c2[9422],_mm256_xor_si256(c2[4500],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[6035],_mm256_xor_si256(c2[6343],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[5130],_mm256_xor_si256(c2[2357],_mm256_xor_si256(c2[7283],_mm256_xor_si256(c2[6972],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[9763],_mm256_xor_si256(c2[4834],_mm256_xor_si256(c2[8223],_mm256_xor_si256(c2[3294],_mm256_xor_si256(c2[9450],_mm256_xor_si256(c2[4528],_mm256_xor_si256(c2[7308],_mm256_xor_si256(c2[2386],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[7308],_mm256_xor_si256(c2[5461],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[532],_mm256_xor_si256(c2[6094],_mm256_xor_si256(c2[1165],_mm256_xor_si256(c2[7326],_mm256_xor_si256(c2[2397],_mm256_xor_si256(c2[8554],_mm256_xor_si256(c2[3324],_mm256_xor_si256(c2[3632],_mm256_xor_si256(c2[9494],_mm256_xor_si256(c2[4565],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[7028],_mm256_xor_si256(c2[6413],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[7354],_mm256_xor_si256(c2[2425],_mm256_xor_si256(c2[5200],_mm256_xor_si256(c2[271],_mm256_xor_si256(c2[5199],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[7981],_mm256_xor_si256(c2[3052],_mm256_xor_si256(c2[3669],_mm256_xor_si256(c2[8602],_mm256_xor_si256(c2[4906],_mm256_xor_si256(c2[9524],_mm256_xor_si256(c2[9832],_mm256_xor_si256(c2[911],_mm256_xor_si256(c2[5844],_mm256_xor_si256(c2[3994],_mm256_xor_si256(c2[8920],_mm256_xor_si256(c2[4917],_mm256_xor_si256(c2[9535],c2[9843]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 32
|
||||
d2[224]=_mm256_xor_si256(c2[9240],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[4004],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[2156],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[4635],_mm256_xor_si256(c2[2786],_mm256_xor_si256(c2[3094],_mm256_xor_si256(c2[4943],_mm256_xor_si256(c2[5251],_mm256_xor_si256(c2[8963],_mm256_xor_si256(c2[3726],_mm256_xor_si256(c2[8961],_mm256_xor_si256(c2[9269],_mm256_xor_si256(c2[8053],_mm256_xor_si256(c2[6823],_mm256_xor_si256(c2[972],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[4062],_mm256_xor_si256(c2[4374],_mm256_xor_si256(c2[4682],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[1289],_mm256_xor_si256(c2[2845],_mm256_xor_si256(c2[6850],_mm256_xor_si256(c2[5620],_mm256_xor_si256(c2[5928],_mm256_xor_si256(c2[2857],_mm256_xor_si256(c2[7482],_mm256_xor_si256(c2[7790],_mm256_xor_si256(c2[3474],_mm256_xor_si256(c2[3782],_mm256_xor_si256(c2[8727],_mm256_xor_si256(c2[9033],_mm256_xor_si256(c2[9341],_mm256_xor_si256(c2[3799],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[1349],_mm256_xor_si256(c2[7201],_mm256_xor_si256(c2[7509],_mm256_xor_si256(c2[4425],_mm256_xor_si256(c2[4733],_mm256_xor_si256(c2[9674],_mm256_xor_si256(c2[6905],_mm256_xor_si256(c2[4752],_mm256_xor_si256(c2[5060],_mm256_xor_si256(c2[3836],_mm256_xor_si256(c2[1375],_mm256_xor_si256(c2[1683],_mm256_xor_si256(c2[142],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[7238],_mm256_xor_si256(c2[4158],_mm256_xor_si256(c2[7859],_mm256_xor_si256(c2[8167],_mm256_xor_si256(c2[6329],_mm256_xor_si256(c2[8795],_mm256_xor_si256(c2[6020],_mm256_xor_si256(c2[6328],_mm256_xor_si256(c2[5410],_mm256_xor_si256(c2[6958],_mm256_xor_si256(c2[3573],_mm256_xor_si256(c2[3881],_mm256_xor_si256(c2[5423],_mm256_xor_si256(c2[5731],_mm256_xor_si256(c2[4511],_mm256_xor_si256(c2[6356],_mm256_xor_si256(c2[6664],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[8205],_mm256_xor_si256(c2[4215],_mm256_xor_si256(c2[2675],_mm256_xor_si256(c2[3601],_mm256_xor_si256(c2[3909],_mm256_xor_si256(c2[1767],_mm256_xor_si256(c2[6696],_mm256_xor_si256(c2[9467],_mm256_xor_si256(c2[9775],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[2705],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[3953],_mm256_xor_si256(c2[6108],_mm256_xor_si256(c2[6416],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[1806],_mm256_xor_si256(c2[9507],_mm256_xor_si256(c2[9198],_mm256_xor_si256(c2[9506],_mm256_xor_si256(c2[2440],_mm256_xor_si256(c2[7675],_mm256_xor_si256(c2[7983],_mm256_xor_si256(c2[8905],_mm256_xor_si256(c2[9213],_mm256_xor_si256(c2[5225],_mm256_xor_si256(c2[8308],_mm256_xor_si256(c2[8923],c2[9231])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 33
|
||||
d2[231]=_mm256_xor_si256(c2[5561],_mm256_xor_si256(c2[5265],_mm256_xor_si256(c2[467],c2[3070])));
|
||||
|
||||
//row: 34
|
||||
d2[238]=_mm256_xor_si256(c2[5546],_mm256_xor_si256(c2[8111],_mm256_xor_si256(c2[1444],c2[7018])));
|
||||
|
||||
//row: 35
|
||||
d2[245]=_mm256_xor_si256(c2[8013],_mm256_xor_si256(c2[2467],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[3408],_mm256_xor_si256(c2[1867],_mm256_xor_si256(c2[4024],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[7729],_mm256_xor_si256(c2[2492],_mm256_xor_si256(c2[8042],_mm256_xor_si256(c2[6819],_mm256_xor_si256(c2[5589],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[2828],_mm256_xor_si256(c2[3448],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[5616],_mm256_xor_si256(c2[4694],_mm256_xor_si256(c2[1630],_mm256_xor_si256(c2[6556],_mm256_xor_si256(c2[2548],_mm256_xor_si256(c2[4093],_mm256_xor_si256(c2[7493],_mm256_xor_si256(c2[8107],_mm256_xor_si256(c2[2873],_mm256_xor_si256(c2[115],_mm256_xor_si256(c2[6275],_mm256_xor_si256(c2[3506],_mm256_xor_si256(c2[8447],_mm256_xor_si256(c2[5671],_mm256_xor_si256(c2[3826],_mm256_xor_si256(c2[2609],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[9078],_mm256_xor_si256(c2[6011],_mm256_xor_si256(c2[2931],_mm256_xor_si256(c2[6933],_mm256_xor_si256(c2[5102],_mm256_xor_si256(c2[7561],_mm256_xor_si256(c2[5101],_mm256_xor_si256(c2[8176],_mm256_xor_si256(c2[5731],_mm256_xor_si256(c2[2647],_mm256_xor_si256(c2[4497],_mm256_xor_si256(c2[3277],_mm256_xor_si256(c2[5437],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[2988],_mm256_xor_si256(c2[1448],_mm256_xor_si256(c2[2675],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[5462],_mm256_xor_si256(c2[8541],_mm256_xor_si256(c2[9174],_mm256_xor_si256(c2[551],_mm256_xor_si256(c2[1779],_mm256_xor_si256(c2[2719],_mm256_xor_si256(c2[5182],_mm256_xor_si256(c2[9493],_mm256_xor_si256(c2[579],_mm256_xor_si256(c2[8280],_mm256_xor_si256(c2[8279],_mm256_xor_si256(c2[1206],_mm256_xor_si256(c2[6749],_mm256_xor_si256(c2[7986],_mm256_xor_si256(c2[3991],_mm256_xor_si256(c2[7074],c2[7997])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 36
|
||||
d2[252]=_mm256_xor_si256(c2[9246],_mm256_xor_si256(c2[9132],_mm256_xor_si256(c2[210],c2[2100])));
|
||||
|
||||
//row: 37
|
||||
d2[259]=_mm256_xor_si256(c2[2776],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[7393],_mm256_xor_si256(c2[8011],_mm256_xor_si256(c2[6163],_mm256_xor_si256(c2[8026],_mm256_xor_si256(c2[8334],_mm256_xor_si256(c2[6793],_mm256_xor_si256(c2[8950],_mm256_xor_si256(c2[5252],_mm256_xor_si256(c2[2492],_mm256_xor_si256(c2[2800],_mm256_xor_si256(c2[7425],_mm256_xor_si256(c2[3113],_mm256_xor_si256(c2[1582],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[4972],_mm256_xor_si256(c2[7761],_mm256_xor_si256(c2[8374],_mm256_xor_si256(c2[4988],_mm256_xor_si256(c2[6236],_mm256_xor_si256(c2[6544],_mm256_xor_si256(c2[687],_mm256_xor_si256(c2[9620],_mm256_xor_si256(c2[6248],_mm256_xor_si256(c2[6556],_mm256_xor_si256(c2[1627],_mm256_xor_si256(c2[7481],_mm256_xor_si256(c2[2564],_mm256_xor_si256(c2[3178],_mm256_xor_si256(c2[7799],_mm256_xor_si256(c2[5041],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[8432],_mm256_xor_si256(c2[3210],_mm256_xor_si256(c2[3518],_mm256_xor_si256(c2[742],_mm256_xor_si256(c2[8752],_mm256_xor_si256(c2[7227],_mm256_xor_si256(c2[7535],_mm256_xor_si256(c2[5382],_mm256_xor_si256(c2[4149],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[7857],_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[9720],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[7580],_mm256_xor_si256(c2[9423],_mm256_xor_si256(c2[1112],_mm256_xor_si256(c2[8210],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[5130],_mm256_xor_si256(c2[7606],_mm256_xor_si256(c2[7914],_mm256_xor_si256(c2[6374],_mm256_xor_si256(c2[7608],_mm256_xor_si256(c2[5158],_mm256_xor_si256(c2[5466],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[3612],_mm256_xor_si256(c2[4245],_mm256_xor_si256(c2[5477],_mm256_xor_si256(c2[6712],_mm256_xor_si256(c2[7337],_mm256_xor_si256(c2[7645],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[4564],_mm256_xor_si256(c2[5197],_mm256_xor_si256(c2[5505],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[3350],_mm256_xor_si256(c2[5824],_mm256_xor_si256(c2[6132],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[3057],_mm256_xor_si256(c2[8616],_mm256_xor_si256(c2[8924],_mm256_xor_si256(c2[2145],c2[3068])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 38
|
||||
d2[266]=_mm256_xor_si256(c2[8319],_mm256_xor_si256(c2[8136],_mm256_xor_si256(c2[2914],c2[3248])));
|
||||
|
||||
//row: 39
|
||||
d2[273]=_mm256_xor_si256(c2[3710],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[5335],c2[5813])));
|
||||
|
||||
//row: 40
|
||||
d2[280]=_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[4117],c2[241]));
|
||||
|
||||
//row: 41
|
||||
d2[287]=_mm256_xor_si256(c2[7098],_mm256_xor_si256(c2[7132],_mm256_xor_si256(c2[8751],c2[2413])));
|
||||
|
||||
//row: 42
|
||||
d2[294]=_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[8630],_mm256_xor_si256(c2[8933],_mm256_xor_si256(c2[9241],_mm256_xor_si256(c2[7085],_mm256_xor_si256(c2[7393],_mm256_xor_si256(c2[5547],_mm256_xor_si256(c2[9564],_mm256_xor_si256(c2[7715],_mm256_xor_si256(c2[8023],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[4037],_mm256_xor_si256(c2[8655],_mm256_xor_si256(c2[4035],_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[5894],_mm256_xor_si256(c2[6202],_mm256_xor_si256(c2[8991],_mm256_xor_si256(c2[9296],_mm256_xor_si256(c2[9604],_mm256_xor_si256(c2[5910],_mm256_xor_si256(c2[6218],_mm256_xor_si256(c2[8374],_mm256_xor_si256(c2[7774],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[687],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[7786],_mm256_xor_si256(c2[2549],_mm256_xor_si256(c2[2857],_mm256_xor_si256(c2[8403],_mm256_xor_si256(c2[8711],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[4415],_mm256_xor_si256(c2[8728],_mm256_xor_si256(c2[9036],_mm256_xor_si256(c2[6278],_mm256_xor_si256(c2[2268],_mm256_xor_si256(c2[2576],_mm256_xor_si256(c2[9354],_mm256_xor_si256(c2[9662],_mm256_xor_si256(c2[4748],_mm256_xor_si256(c2[1979],_mm256_xor_si256(c2[9674],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[8765],_mm256_xor_si256(c2[6304],_mm256_xor_si256(c2[6612],_mm256_xor_si256(c2[5071],_mm256_xor_si256(c2[5379],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[9087],_mm256_xor_si256(c2[2926],_mm256_xor_si256(c2[3234],_mm256_xor_si256(c2[1403],_mm256_xor_si256(c2[3869],_mm256_xor_si256(c2[1094],_mm256_xor_si256(c2[1402],_mm256_xor_si256(c2[2032],_mm256_xor_si256(c2[8502],_mm256_xor_si256(c2[8810],_mm256_xor_si256(c2[490],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[9440],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[6052],_mm256_xor_si256(c2[6360],_mm256_xor_si256(c2[9144],_mm256_xor_si256(c2[7604],_mm256_xor_si256(c2[8530],_mm256_xor_si256(c2[8838],_mm256_xor_si256(c2[6696],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[4849],_mm256_xor_si256(c2[5475],_mm256_xor_si256(c2[6399],_mm256_xor_si256(c2[6707],_mm256_xor_si256(c2[7634],_mm256_xor_si256(c2[7942],_mm256_xor_si256(c2[8882],_mm256_xor_si256(c2[1182],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[5493],_mm256_xor_si256(c2[5801],_mm256_xor_si256(c2[6735],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[4272],_mm256_xor_si256(c2[4580],_mm256_xor_si256(c2[7369],_mm256_xor_si256(c2[2749],_mm256_xor_si256(c2[3057],_mm256_xor_si256(c2[3979],_mm256_xor_si256(c2[4287],_mm256_xor_si256(c2[299],_mm256_xor_si256(c2[3375],_mm256_xor_si256(c2[3990],c2[4298]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 43
|
||||
d2[301]=_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[4622],_mm256_xor_si256(c2[5240],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[3392],_mm256_xor_si256(c2[5563],_mm256_xor_si256(c2[4022],_mm256_xor_si256(c2[5871],_mm256_xor_si256(c2[6179],_mm256_xor_si256(c2[4332],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[4654],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[8974],_mm256_xor_si256(c2[7744],_mm256_xor_si256(c2[1893],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[4990],_mm256_xor_si256(c2[5603],_mm256_xor_si256(c2[1909],_mm256_xor_si256(c2[2217],_mm256_xor_si256(c2[3766],_mm256_xor_si256(c2[7771],_mm256_xor_si256(c2[6849],_mm256_xor_si256(c2[3785],_mm256_xor_si256(c2[8711],_mm256_xor_si256(c2[4402],_mm256_xor_si256(c2[4710],_mm256_xor_si256(c2[9648],_mm256_xor_si256(c2[407],_mm256_xor_si256(c2[4720],_mm256_xor_si256(c2[5028],_mm256_xor_si256(c2[2270],_mm256_xor_si256(c2[8430],_mm256_xor_si256(c2[5353],_mm256_xor_si256(c2[5661],_mm256_xor_si256(c2[747],_mm256_xor_si256(c2[7826],_mm256_xor_si256(c2[5981],_mm256_xor_si256(c2[4764],_mm256_xor_si256(c2[2604],_mm256_xor_si256(c2[1070],_mm256_xor_si256(c2[1378],_mm256_xor_si256(c2[8166],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[8780],_mm256_xor_si256(c2[9088],_mm256_xor_si256(c2[7257],_mm256_xor_si256(c2[9716],_mm256_xor_si256(c2[6948],_mm256_xor_si256(c2[7256],_mm256_xor_si256(c2[7886],_mm256_xor_si256(c2[4802],_mm256_xor_si256(c2[6344],_mm256_xor_si256(c2[6652],_mm256_xor_si256(c2[5432],_mm256_xor_si256(c2[7592],_mm256_xor_si256(c2[2044],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[5143],_mm256_xor_si256(c2[3603],_mm256_xor_si256(c2[4830],_mm256_xor_si256(c2[2688],_mm256_xor_si256(c2[7617],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[7000],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[2706],_mm256_xor_si256(c2[3626],_mm256_xor_si256(c2[3934],_mm256_xor_si256(c2[4874],_mm256_xor_si256(c2[7337],_mm256_xor_si256(c2[1485],_mm256_xor_si256(c2[1793],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[2734],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[579],_mm256_xor_si256(c2[3361],_mm256_xor_si256(c2[8904],_mm256_xor_si256(c2[9833],_mm256_xor_si256(c2[286],_mm256_xor_si256(c2[6146],_mm256_xor_si256(c2[9229],_mm256_xor_si256(c2[9844],c2[297]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 44
|
||||
d2[308]=_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[7704],_mm256_xor_si256(c2[8322],_mm256_xor_si256(c2[6474],_mm256_xor_si256(c2[6162],_mm256_xor_si256(c2[8638],_mm256_xor_si256(c2[7104],_mm256_xor_si256(c2[9254],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[7729],_mm256_xor_si256(c2[3417],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[5283],_mm256_xor_si256(c2[8065],_mm256_xor_si256(c2[8685],_mm256_xor_si256(c2[5292],_mm256_xor_si256(c2[6848],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[6860],_mm256_xor_si256(c2[1938],_mm256_xor_si256(c2[7785],_mm256_xor_si256(c2[2875],_mm256_xor_si256(c2[3489],_mm256_xor_si256(c2[8110],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[5352],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[8736],_mm256_xor_si256(c2[3822],_mm256_xor_si256(c2[1053],_mm256_xor_si256(c2[9063],_mm256_xor_si256(c2[2898],_mm256_xor_si256(c2[7846],_mm256_xor_si256(c2[5686],_mm256_xor_si256(c2[4453],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[8168],_mm256_xor_si256(c2[2315],_mm256_xor_si256(c2[477],_mm256_xor_si256(c2[2943],_mm256_xor_si256(c2[476],_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[7884],_mm256_xor_si256(c2[9734],_mm256_xor_si256(c2[8514],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[5434],_mm256_xor_si256(c2[8218],_mm256_xor_si256(c2[6678],_mm256_xor_si256(c2[7912],_mm256_xor_si256(c2[5770],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[3923],_mm256_xor_si256(c2[4556],_mm256_xor_si256(c2[5788],_mm256_xor_si256(c2[7016],_mm256_xor_si256(c2[7956],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[4875],_mm256_xor_si256(c2[5816],_mm256_xor_si256(c2[3655],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[6443],_mm256_xor_si256(c2[2131],_mm256_xor_si256(c2[3361],_mm256_xor_si256(c2[9228],_mm256_xor_si256(c2[2456],c2[3379])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 45
|
||||
d2[315]=_mm256_xor_si256(c2[7411],_mm256_xor_si256(c2[7787],c2[9072]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user