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=352, byte encoding
|
||||
static inline void ldpc352_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[2913],_mm256_xor_si256(c2[6294],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[10673],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[14544],_mm256_xor_si256(c2[3437],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[10214],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[69],_mm256_xor_si256(c2[8295],_mm256_xor_si256(c2[8810],_mm256_xor_si256(c2[6873],_mm256_xor_si256(c2[11228],_mm256_xor_si256(c2[7376],_mm256_xor_si256(c2[5926],_mm256_xor_si256(c2[7373],_mm256_xor_si256(c2[2557],_mm256_xor_si256(c2[4496],_mm256_xor_si256(c2[5460],_mm256_xor_si256(c2[7901],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[6961],_mm256_xor_si256(c2[6475],_mm256_xor_si256(c2[13246],_mm256_xor_si256(c2[9401],_mm256_xor_si256(c2[8911],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[12811],_mm256_xor_si256(c2[15227],_mm256_xor_si256(c2[5063],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[3635],_mm256_xor_si256(c2[10897],_mm256_xor_si256(c2[9470],_mm256_xor_si256(c2[14307],_mm256_xor_si256(c2[12374],_mm256_xor_si256(c2[4648],_mm256_xor_si256(c2[7065],_mm256_xor_si256(c2[6586],_mm256_xor_si256(c2[7094],_mm256_xor_si256(c2[14836],_mm256_xor_si256(c2[12413],_mm256_xor_si256(c2[10495],_mm256_xor_si256(c2[9049],_mm256_xor_si256(c2[14369],_mm256_xor_si256(c2[13430],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[12459],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[11512],_mm256_xor_si256(c2[8149],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[7660],_mm256_xor_si256(c2[3811],_mm256_xor_si256(c2[4774],_mm256_xor_si256(c2[9136],_mm256_xor_si256(c2[7701],_mm256_xor_si256(c2[3828],_mm256_xor_si256(c2[12543],_mm256_xor_si256(c2[14019],_mm256_xor_si256(c2[7247],c2[12565]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 1
|
||||
d2[11]=_mm256_xor_si256(c2[2913],_mm256_xor_si256(c2[3397],_mm256_xor_si256(c2[6778],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[10673],_mm256_xor_si256(c2[11157],_mm256_xor_si256(c2[1959],_mm256_xor_si256(c2[15028],_mm256_xor_si256(c2[3437],_mm256_xor_si256(c2[3921],_mm256_xor_si256(c2[1019],_mm256_xor_si256(c2[10698],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[5400],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[8779],_mm256_xor_si256(c2[9294],_mm256_xor_si256(c2[7357],_mm256_xor_si256(c2[11712],_mm256_xor_si256(c2[7376],_mm256_xor_si256(c2[7860],_mm256_xor_si256(c2[6410],_mm256_xor_si256(c2[7857],_mm256_xor_si256(c2[2557],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[4980],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[8385],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[3547],_mm256_xor_si256(c2[7445],_mm256_xor_si256(c2[6959],_mm256_xor_si256(c2[13730],_mm256_xor_si256(c2[9401],_mm256_xor_si256(c2[9885],_mm256_xor_si256(c2[9395],_mm256_xor_si256(c2[3595],_mm256_xor_si256(c2[12811],_mm256_xor_si256(c2[13295],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[5547],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[4119],_mm256_xor_si256(c2[11381],_mm256_xor_si256(c2[9470],_mm256_xor_si256(c2[9954],_mm256_xor_si256(c2[14791],_mm256_xor_si256(c2[12858],_mm256_xor_si256(c2[4648],_mm256_xor_si256(c2[5132],_mm256_xor_si256(c2[7549],_mm256_xor_si256(c2[7070],_mm256_xor_si256(c2[7578],_mm256_xor_si256(c2[15320],_mm256_xor_si256(c2[12897],_mm256_xor_si256(c2[10495],_mm256_xor_si256(c2[10979],_mm256_xor_si256(c2[9533],_mm256_xor_si256(c2[14853],_mm256_xor_si256(c2[13430],_mm256_xor_si256(c2[13914],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[12943],_mm256_xor_si256(c2[3282],_mm256_xor_si256(c2[2314],_mm256_xor_si256(c2[11996],_mm256_xor_si256(c2[8149],_mm256_xor_si256(c2[8633],_mm256_xor_si256(c2[2337],_mm256_xor_si256(c2[8144],_mm256_xor_si256(c2[3811],_mm256_xor_si256(c2[4295],_mm256_xor_si256(c2[5258],_mm256_xor_si256(c2[9620],_mm256_xor_si256(c2[7701],_mm256_xor_si256(c2[8185],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[13027],_mm256_xor_si256(c2[14019],_mm256_xor_si256(c2[14503],_mm256_xor_si256(c2[7731],c2[13049])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 2
|
||||
d2[22]=_mm256_xor_si256(c2[3397],_mm256_xor_si256(c2[6778],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[11157],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[1959],_mm256_xor_si256(c2[14544],_mm256_xor_si256(c2[15028],_mm256_xor_si256(c2[3921],_mm256_xor_si256(c2[1019],_mm256_xor_si256(c2[10214],_mm256_xor_si256(c2[10698],_mm256_xor_si256(c2[5400],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[8295],_mm256_xor_si256(c2[8779],_mm256_xor_si256(c2[9294],_mm256_xor_si256(c2[6873],_mm256_xor_si256(c2[7357],_mm256_xor_si256(c2[11228],_mm256_xor_si256(c2[11712],_mm256_xor_si256(c2[7860],_mm256_xor_si256(c2[6410],_mm256_xor_si256(c2[7373],_mm256_xor_si256(c2[7857],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[4496],_mm256_xor_si256(c2[4980],_mm256_xor_si256(c2[5460],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[8385],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[3547],_mm256_xor_si256(c2[7445],_mm256_xor_si256(c2[6475],_mm256_xor_si256(c2[6959],_mm256_xor_si256(c2[13246],_mm256_xor_si256(c2[13730],_mm256_xor_si256(c2[9885],_mm256_xor_si256(c2[9395],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[3595],_mm256_xor_si256(c2[13295],_mm256_xor_si256(c2[15227],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[5063],_mm256_xor_si256(c2[5547],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[4119],_mm256_xor_si256(c2[10897],_mm256_xor_si256(c2[11381],_mm256_xor_si256(c2[9954],_mm256_xor_si256(c2[14791],_mm256_xor_si256(c2[12374],_mm256_xor_si256(c2[12858],_mm256_xor_si256(c2[5132],_mm256_xor_si256(c2[7065],_mm256_xor_si256(c2[7549],_mm256_xor_si256(c2[6586],_mm256_xor_si256(c2[7070],_mm256_xor_si256(c2[7578],_mm256_xor_si256(c2[14836],_mm256_xor_si256(c2[15320],_mm256_xor_si256(c2[12413],_mm256_xor_si256(c2[12897],_mm256_xor_si256(c2[10979],_mm256_xor_si256(c2[9533],_mm256_xor_si256(c2[14369],_mm256_xor_si256(c2[14853],_mm256_xor_si256(c2[13914],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[12459],_mm256_xor_si256(c2[12943],_mm256_xor_si256(c2[3282],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[2314],_mm256_xor_si256(c2[11512],_mm256_xor_si256(c2[11996],_mm256_xor_si256(c2[8633],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[2337],_mm256_xor_si256(c2[7660],_mm256_xor_si256(c2[8144],_mm256_xor_si256(c2[4295],_mm256_xor_si256(c2[5258],_mm256_xor_si256(c2[9136],_mm256_xor_si256(c2[9620],_mm256_xor_si256(c2[8185],_mm256_xor_si256(c2[3828],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[12543],_mm256_xor_si256(c2[13027],_mm256_xor_si256(c2[14503],_mm256_xor_si256(c2[7731],_mm256_xor_si256(c2[12565],c2[13049]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 3
|
||||
d2[33]=_mm256_xor_si256(c2[3397],_mm256_xor_si256(c2[6778],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[11157],_mm256_xor_si256(c2[1959],_mm256_xor_si256(c2[14544],_mm256_xor_si256(c2[15028],_mm256_xor_si256(c2[3921],_mm256_xor_si256(c2[1019],_mm256_xor_si256(c2[10698],_mm256_xor_si256(c2[5400],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[8295],_mm256_xor_si256(c2[8779],_mm256_xor_si256(c2[9294],_mm256_xor_si256(c2[7357],_mm256_xor_si256(c2[11228],_mm256_xor_si256(c2[11712],_mm256_xor_si256(c2[7860],_mm256_xor_si256(c2[6410],_mm256_xor_si256(c2[7857],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[4980],_mm256_xor_si256(c2[5460],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[8385],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[3547],_mm256_xor_si256(c2[7445],_mm256_xor_si256(c2[6959],_mm256_xor_si256(c2[13246],_mm256_xor_si256(c2[13730],_mm256_xor_si256(c2[9885],_mm256_xor_si256(c2[9395],_mm256_xor_si256(c2[3595],_mm256_xor_si256(c2[13295],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[5063],_mm256_xor_si256(c2[5547],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[4119],_mm256_xor_si256(c2[10897],_mm256_xor_si256(c2[11381],_mm256_xor_si256(c2[9954],_mm256_xor_si256(c2[14791],_mm256_xor_si256(c2[12374],_mm256_xor_si256(c2[12858],_mm256_xor_si256(c2[5132],_mm256_xor_si256(c2[7549],_mm256_xor_si256(c2[6586],_mm256_xor_si256(c2[7070],_mm256_xor_si256(c2[7578],_mm256_xor_si256(c2[15320],_mm256_xor_si256(c2[12413],_mm256_xor_si256(c2[12897],_mm256_xor_si256(c2[10979],_mm256_xor_si256(c2[9533],_mm256_xor_si256(c2[14853],_mm256_xor_si256(c2[13914],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[12459],_mm256_xor_si256(c2[12943],_mm256_xor_si256(c2[3282],_mm256_xor_si256(c2[2314],_mm256_xor_si256(c2[11512],_mm256_xor_si256(c2[11996],_mm256_xor_si256(c2[8633],_mm256_xor_si256(c2[2337],_mm256_xor_si256(c2[7660],_mm256_xor_si256(c2[8144],_mm256_xor_si256(c2[4295],_mm256_xor_si256(c2[5258],_mm256_xor_si256(c2[9620],_mm256_xor_si256(c2[8185],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[12543],_mm256_xor_si256(c2[13027],_mm256_xor_si256(c2[14503],_mm256_xor_si256(c2[7731],_mm256_xor_si256(c2[12565],c2[13049])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 4
|
||||
d2[44]=_mm256_xor_si256(c2[4841],c2[30]);
|
||||
|
||||
//row: 5
|
||||
d2[55]=_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[3872],_mm256_xor_si256(c2[14040],_mm256_xor_si256(c2[13552],_mm256_xor_si256(c2[13074],_mm256_xor_si256(c2[8251],_mm256_xor_si256(c2[14551],_mm256_xor_si256(c2[12122],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[1015],_mm256_xor_si256(c2[13600],_mm256_xor_si256(c2[7792],_mm256_xor_si256(c2[2494],_mm256_xor_si256(c2[13134],_mm256_xor_si256(c2[5884],_mm256_xor_si256(c2[13141],_mm256_xor_si256(c2[6388],_mm256_xor_si256(c2[4451],_mm256_xor_si256(c2[8806],_mm256_xor_si256(c2[4954],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[4951],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[2074],_mm256_xor_si256(c2[3038],_mm256_xor_si256(c2[5479],_mm256_xor_si256(c2[13223],_mm256_xor_si256(c2[641],_mm256_xor_si256(c2[4539],_mm256_xor_si256(c2[4053],_mm256_xor_si256(c2[10824],_mm256_xor_si256(c2[6979],_mm256_xor_si256(c2[6500],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[10389],_mm256_xor_si256(c2[12805],_mm256_xor_si256(c2[2641],_mm256_xor_si256(c2[13802],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[8475],_mm256_xor_si256(c2[7048],_mm256_xor_si256(c2[11885],_mm256_xor_si256(c2[9952],_mm256_xor_si256(c2[1242],_mm256_xor_si256(c2[2226],_mm256_xor_si256(c2[4643],_mm256_xor_si256(c2[4164],_mm256_xor_si256(c2[4672],_mm256_xor_si256(c2[12414],_mm256_xor_si256(c2[9991],_mm256_xor_si256(c2[8084],_mm256_xor_si256(c2[6627],_mm256_xor_si256(c2[11947],_mm256_xor_si256(c2[11008],_mm256_xor_si256(c2[13909],_mm256_xor_si256(c2[10037],_mm256_xor_si256(c2[3749],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[14895],_mm256_xor_si256(c2[9090],_mm256_xor_si256(c2[5727],_mm256_xor_si256(c2[14918],_mm256_xor_si256(c2[5238],_mm256_xor_si256(c2[1389],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[6714],_mm256_xor_si256(c2[5290],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[10121],_mm256_xor_si256(c2[11597],_mm256_xor_si256(c2[4825],_mm256_xor_si256(c2[10143],c2[1438]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 6
|
||||
d2[66]=_mm256_xor_si256(c2[2913],_mm256_xor_si256(c2[4490],_mm256_xor_si256(c2[5070],_mm256_xor_si256(c2[1697],_mm256_xor_si256(c2[6099],_mm256_xor_si256(c2[11026],_mm256_xor_si256(c2[13956],c2[8677])))))));
|
||||
|
||||
//row: 7
|
||||
d2[77]=_mm256_xor_si256(c2[1452],_mm256_xor_si256(c2[3413],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[4519],_mm256_xor_si256(c2[11314],c2[3697])))));
|
||||
|
||||
//row: 8
|
||||
d2[88]=_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[13073],_mm256_xor_si256(c2[3389],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[13557],_mm256_xor_si256(c2[10651],_mm256_xor_si256(c2[11135],_mm256_xor_si256(c2[13069],_mm256_xor_si256(c2[10174],_mm256_xor_si256(c2[10658],_mm256_xor_si256(c2[13562],_mm256_xor_si256(c2[7768],_mm256_xor_si256(c2[5346],_mm256_xor_si256(c2[14068],_mm256_xor_si256(c2[11162],_mm256_xor_si256(c2[11646],_mm256_xor_si256(c2[11639],_mm256_xor_si256(c2[8744],_mm256_xor_si256(c2[9228],_mm256_xor_si256(c2[5348],_mm256_xor_si256(c2[532],_mm256_xor_si256(c2[13597],_mm256_xor_si256(c2[13117],_mm256_xor_si256(c2[10695],_mm256_xor_si256(c2[7309],_mm256_xor_si256(c2[4403],_mm256_xor_si256(c2[4887],_mm256_xor_si256(c2[2011],_mm256_xor_si256(c2[15076],_mm256_xor_si256(c2[12651],_mm256_xor_si256(c2[10240],_mm256_xor_si256(c2[5390],_mm256_xor_si256(c2[2495],_mm256_xor_si256(c2[2979],_mm256_xor_si256(c2[10714],_mm256_xor_si256(c2[5905],_mm256_xor_si256(c2[3483],_mm256_xor_si256(c2[3968],_mm256_xor_si256(c2[1062],_mm256_xor_si256(c2[1546],_mm256_xor_si256(c2[8323],_mm256_xor_si256(c2[5417],_mm256_xor_si256(c2[5901],_mm256_xor_si256(c2[4471],_mm256_xor_si256(c2[2049],_mm256_xor_si256(c2[3021],_mm256_xor_si256(c2[599],_mm256_xor_si256(c2[4468],_mm256_xor_si256(c2[1562],_mm256_xor_si256(c2[2046],_mm256_xor_si256(c2[15139],_mm256_xor_si256(c2[12717],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[14172],_mm256_xor_si256(c2[14656],_mm256_xor_si256(c2[2555],_mm256_xor_si256(c2[15136],_mm256_xor_si256(c2[133],_mm256_xor_si256(c2[4996],_mm256_xor_si256(c2[2574],_mm256_xor_si256(c2[12740],_mm256_xor_si256(c2[9834],_mm256_xor_si256(c2[10318],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[12739],_mm256_xor_si256(c2[13223],_mm256_xor_si256(c2[4056],_mm256_xor_si256(c2[1634],_mm256_xor_si256(c2[3570],_mm256_xor_si256(c2[664],_mm256_xor_si256(c2[1148],_mm256_xor_si256(c2[10341],_mm256_xor_si256(c2[7446],_mm256_xor_si256(c2[7930],_mm256_xor_si256(c2[6496],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[6006],_mm256_xor_si256(c2[3595],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[12787],_mm256_xor_si256(c2[13271],_mm256_xor_si256(c2[9906],_mm256_xor_si256(c2[7484],_mm256_xor_si256(c2[12322],_mm256_xor_si256(c2[9416],_mm256_xor_si256(c2[9900],_mm256_xor_si256(c2[2158],_mm256_xor_si256(c2[14750],_mm256_xor_si256(c2[15234],_mm256_xor_si256(c2[13319],_mm256_xor_si256(c2[10897],_mm256_xor_si256(c2[730],_mm256_xor_si256(c2[13795],_mm256_xor_si256(c2[7992],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[5570],_mm256_xor_si256(c2[6565],_mm256_xor_si256(c2[4143],_mm256_xor_si256(c2[11402],_mm256_xor_si256(c2[8980],_mm256_xor_si256(c2[9469],_mm256_xor_si256(c2[6563],_mm256_xor_si256(c2[7047],_mm256_xor_si256(c2[11889],_mm256_xor_si256(c2[1743],_mm256_xor_si256(c2[14808],_mm256_xor_si256(c2[4160],_mm256_xor_si256(c2[1254],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[3681],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[1259],_mm256_xor_si256(c2[4189],_mm256_xor_si256(c2[1767],_mm256_xor_si256(c2[11931],_mm256_xor_si256(c2[9025],_mm256_xor_si256(c2[9509],_mm256_xor_si256(c2[9508],_mm256_xor_si256(c2[6602],_mm256_xor_si256(c2[7086],_mm256_xor_si256(c2[7590],_mm256_xor_si256(c2[5179],_mm256_xor_si256(c2[6144],_mm256_xor_si256(c2[3722],_mm256_xor_si256(c2[11464],_mm256_xor_si256(c2[8558],_mm256_xor_si256(c2[9042],_mm256_xor_si256(c2[10525],_mm256_xor_si256(c2[8103],_mm256_xor_si256(c2[13426],_mm256_xor_si256(c2[11004],_mm256_xor_si256(c2[9554],_mm256_xor_si256(c2[6648],_mm256_xor_si256(c2[7132],_mm256_xor_si256(c2[359],_mm256_xor_si256(c2[15380],_mm256_xor_si256(c2[12958],_mm256_xor_si256(c2[14412],_mm256_xor_si256(c2[11506],_mm256_xor_si256(c2[11990],_mm256_xor_si256(c2[8607],_mm256_xor_si256(c2[5701],_mm256_xor_si256(c2[6185],_mm256_xor_si256(c2[5244],_mm256_xor_si256(c2[2822],_mm256_xor_si256(c2[14435],_mm256_xor_si256(c2[11529],_mm256_xor_si256(c2[12013],_mm256_xor_si256(c2[4755],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[2333],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[13971],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[14945],_mm256_xor_si256(c2[6231],_mm256_xor_si256(c2[3325],_mm256_xor_si256(c2[3809],_mm256_xor_si256(c2[8646],_mm256_xor_si256(c2[4796],_mm256_xor_si256(c2[2385],_mm256_xor_si256(c2[934],_mm256_xor_si256(c2[13515],_mm256_xor_si256(c2[13999],_mm256_xor_si256(c2[9638],_mm256_xor_si256(c2[6732],_mm256_xor_si256(c2[7216],_mm256_xor_si256(c2[11114],_mm256_xor_si256(c2[8692],_mm256_xor_si256(c2[4342],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[9660],_mm256_xor_si256(c2[6754],_mm256_xor_si256(c2[7238],c2[13531]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 9
|
||||
d2[99]=_mm256_xor_si256(c2[13556],_mm256_xor_si256(c2[11640],_mm256_xor_si256(c2[2649],_mm256_xor_si256(c2[7505],_mm256_xor_si256(c2[13840],_mm256_xor_si256(c2[11994],_mm256_xor_si256(c2[11528],c2[8678])))))));
|
||||
|
||||
//row: 10
|
||||
d2[110]=_mm256_xor_si256(c2[7287],_mm256_xor_si256(c2[14087],_mm256_xor_si256(c2[13156],_mm256_xor_si256(c2[3549],_mm256_xor_si256(c2[8405],c2[5640])))));
|
||||
|
||||
//row: 11
|
||||
d2[121]=_mm256_xor_si256(c2[11624],_mm256_xor_si256(c2[2908],_mm256_xor_si256(c2[3392],_mm256_xor_si256(c2[15005],_mm256_xor_si256(c2[6784],_mm256_xor_si256(c2[9686],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[9198],_mm256_xor_si256(c2[977],_mm256_xor_si256(c2[12100],_mm256_xor_si256(c2[3897],_mm256_xor_si256(c2[10679],_mm256_xor_si256(c2[11163],_mm256_xor_si256(c2[10186],_mm256_xor_si256(c2[1965],_mm256_xor_si256(c2[7768],_mm256_xor_si256(c2[15034],_mm256_xor_si256(c2[1000],_mm256_xor_si256(c2[12148],_mm256_xor_si256(c2[3432],_mm256_xor_si256(c2[3916],_mm256_xor_si256(c2[9246],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[3438],_mm256_xor_si256(c2[10693],_mm256_xor_si256(c2[13627],_mm256_xor_si256(c2[4911],_mm256_xor_si256(c2[5395],_mm256_xor_si256(c2[8780],_mm256_xor_si256(c2[559],_mm256_xor_si256(c2[1519],_mm256_xor_si256(c2[8785],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[9289],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[7352],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[11707],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[7371],_mm256_xor_si256(c2[7855],_mm256_xor_si256(c2[14637],_mm256_xor_si256(c2[6405],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[7863],_mm256_xor_si256(c2[11268],_mm256_xor_si256(c2[2552],_mm256_xor_si256(c2[3036],_mm256_xor_si256(c2[13207],_mm256_xor_si256(c2[4975],_mm256_xor_si256(c2[14171],_mm256_xor_si256(c2[5950],_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[8391],_mm256_xor_si256(c2[8869],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[11774],_mm256_xor_si256(c2[3542],_mm256_xor_si256(c2[185],_mm256_xor_si256(c2[7440],_mm256_xor_si256(c2[15186],_mm256_xor_si256(c2[6954],_mm256_xor_si256(c2[6470],_mm256_xor_si256(c2[13736],_mm256_xor_si256(c2[2625],_mm256_xor_si256(c2[9396],_mm256_xor_si256(c2[9880],_mm256_xor_si256(c2[2135],_mm256_xor_si256(c2[9401],_mm256_xor_si256(c2[11822],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[6035],_mm256_xor_si256(c2[12806],_mm256_xor_si256(c2[13290],_mm256_xor_si256(c2[8451],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[13774],_mm256_xor_si256(c2[5553],_mm256_xor_si256(c2[9448],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[1216],_mm256_xor_si256(c2[12346],_mm256_xor_si256(c2[4114],_mm256_xor_si256(c2[4121],_mm256_xor_si256(c2[11376],_mm256_xor_si256(c2[2694],_mm256_xor_si256(c2[9465],_mm256_xor_si256(c2[9949],_mm256_xor_si256(c2[7531],_mm256_xor_si256(c2[14786],_mm256_xor_si256(c2[5598],_mm256_xor_si256(c2[12853],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[13359],_mm256_xor_si256(c2[4643],_mm256_xor_si256(c2[5127],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[7555],_mm256_xor_si256(c2[15297],_mm256_xor_si256(c2[7065],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[7573],_mm256_xor_si256(c2[8060],_mm256_xor_si256(c2[15315],_mm256_xor_si256(c2[5637],_mm256_xor_si256(c2[12892],_mm256_xor_si256(c2[3719],_mm256_xor_si256(c2[10501],_mm256_xor_si256(c2[10985],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[9528],_mm256_xor_si256(c2[7593],_mm256_xor_si256(c2[14859],_mm256_xor_si256(c2[6654],_mm256_xor_si256(c2[13425],_mm256_xor_si256(c2[13909],_mm256_xor_si256(c2[9555],_mm256_xor_si256(c2[1323],_mm256_xor_si256(c2[5683],_mm256_xor_si256(c2[12938],_mm256_xor_si256(c2[15366],_mm256_xor_si256(c2[11509],_mm256_xor_si256(c2[3288],_mm256_xor_si256(c2[10541],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[4736],_mm256_xor_si256(c2[11991],_mm256_xor_si256(c2[1373],_mm256_xor_si256(c2[8144],_mm256_xor_si256(c2[8628],_mm256_xor_si256(c2[10564],_mm256_xor_si256(c2[2332],_mm256_xor_si256(c2[884],_mm256_xor_si256(c2[8150],_mm256_xor_si256(c2[12522],_mm256_xor_si256(c2[3806],_mm256_xor_si256(c2[4290],_mm256_xor_si256(c2[13496],_mm256_xor_si256(c2[5264],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[9615],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[7707],_mm256_xor_si256(c2[8191],_mm256_xor_si256(c2[12550],_mm256_xor_si256(c2[4318],_mm256_xor_si256(c2[5767],_mm256_xor_si256(c2[13033],_mm256_xor_si256(c2[7243],_mm256_xor_si256(c2[14014],_mm256_xor_si256(c2[14498],_mm256_xor_si256(c2[471],_mm256_xor_si256(c2[7726],_mm256_xor_si256(c2[5789],_mm256_xor_si256(c2[13055],c2[3371])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 12
|
||||
d2[132]=_mm256_xor_si256(c2[13071],_mm256_xor_si256(c2[12128],_mm256_xor_si256(c2[7000],_mm256_xor_si256(c2[7021],_mm256_xor_si256(c2[8035],c2[6206])))));
|
||||
|
||||
//row: 13
|
||||
d2[143]=_mm256_xor_si256(c2[11132],_mm256_xor_si256(c2[11616],_mm256_xor_si256(c2[15008],_mm256_xor_si256(c2[9689],_mm256_xor_si256(c2[9201],_mm256_xor_si256(c2[11141],_mm256_xor_si256(c2[3416],_mm256_xor_si256(c2[3900],_mm256_xor_si256(c2[10189],_mm256_xor_si256(c2[7771],_mm256_xor_si256(c2[11667],_mm256_xor_si256(c2[12151],_mm256_xor_si256(c2[9249],_mm256_xor_si256(c2[3441],_mm256_xor_si256(c2[13135],_mm256_xor_si256(c2[13619],_mm256_xor_si256(c2[8783],_mm256_xor_si256(c2[1522],_mm256_xor_si256(c2[13141],_mm256_xor_si256(c2[2026],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[4444],_mm256_xor_si256(c2[119],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[14640],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[10787],_mm256_xor_si256(c2[11271],_mm256_xor_si256(c2[13210],_mm256_xor_si256(c2[14174],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[8872],_mm256_xor_si256(c2[11777],_mm256_xor_si256(c2[4518],_mm256_xor_si256(c2[177],_mm256_xor_si256(c2[15189],_mm256_xor_si256(c2[6473],_mm256_xor_si256(c2[2144],_mm256_xor_si256(c2[2628],_mm256_xor_si256(c2[2138],_mm256_xor_si256(c2[11814],_mm256_xor_si256(c2[5554],_mm256_xor_si256(c2[6038],_mm256_xor_si256(c2[8454],_mm256_xor_si256(c2[13777],_mm256_xor_si256(c2[8956],_mm256_xor_si256(c2[9440],_mm256_xor_si256(c2[12349],_mm256_xor_si256(c2[4124],_mm256_xor_si256(c2[2202],_mm256_xor_si256(c2[2686],_mm256_xor_si256(c2[7534],_mm256_xor_si256(c2[5590],_mm256_xor_si256(c2[12878],_mm256_xor_si256(c2[13362],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[15300],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[8052],_mm256_xor_si256(c2[5640],_mm256_xor_si256(c2[3238],_mm256_xor_si256(c2[3722],_mm256_xor_si256(c2[2276],_mm256_xor_si256(c2[7596],_mm256_xor_si256(c2[6162],_mm256_xor_si256(c2[6646],_mm256_xor_si256(c2[9558],_mm256_xor_si256(c2[5686],_mm256_xor_si256(c2[11512],_mm256_xor_si256(c2[10544],_mm256_xor_si256(c2[4739],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[1365],_mm256_xor_si256(c2[10567],_mm256_xor_si256(c2[887],_mm256_xor_si256(c2[12041],_mm256_xor_si256(c2[12525],_mm256_xor_si256(c2[13488],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[12542],_mm256_xor_si256(c2[5770],_mm256_xor_si256(c2[14962],_mm256_xor_si256(c2[6762],_mm256_xor_si256(c2[7246],_mm256_xor_si256(c2[463],c2[5792])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 14
|
||||
d2[154]=_mm256_xor_si256(c2[10648],_mm256_xor_si256(c2[1242],_mm256_xor_si256(c2[10502],_mm256_xor_si256(c2[13908],_mm256_xor_si256(c2[1344],c2[7240])))));
|
||||
|
||||
//row: 15
|
||||
d2[165]=_mm256_xor_si256(c2[11617],_mm256_xor_si256(c2[15009],_mm256_xor_si256(c2[9690],_mm256_xor_si256(c2[8718],_mm256_xor_si256(c2[9202],_mm256_xor_si256(c2[7749],_mm256_xor_si256(c2[3901],_mm256_xor_si256(c2[10190],_mm256_xor_si256(c2[7288],_mm256_xor_si256(c2[7772],_mm256_xor_si256(c2[13584],_mm256_xor_si256(c2[12152],_mm256_xor_si256(c2[9250],_mm256_xor_si256(c2[3442],_mm256_xor_si256(c2[13620],_mm256_xor_si256(c2[8784],_mm256_xor_si256(c2[1039],_mm256_xor_si256(c2[1523],_mm256_xor_si256(c2[2027],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[3961],_mm256_xor_si256(c2[4445],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[14630],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[11272],_mm256_xor_si256(c2[13200],_mm256_xor_si256(c2[13691],_mm256_xor_si256(c2[14175],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[8873],_mm256_xor_si256(c2[11294],_mm256_xor_si256(c2[11778],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[15190],_mm256_xor_si256(c2[5990],_mm256_xor_si256(c2[6474],_mm256_xor_si256(c2[2618],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[11815],_mm256_xor_si256(c2[6028],_mm256_xor_si256(c2[8455],_mm256_xor_si256(c2[13294],_mm256_xor_si256(c2[13778],_mm256_xor_si256(c2[7480],_mm256_xor_si256(c2[9441],_mm256_xor_si256(c2[12350],_mm256_xor_si256(c2[3630],_mm256_xor_si256(c2[4114],_mm256_xor_si256(c2[2687],_mm256_xor_si256(c2[7524],_mm256_xor_si256(c2[5107],_mm256_xor_si256(c2[5591],_mm256_xor_si256(c2[13363],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[14806],_mm256_xor_si256(c2[15290],_mm256_xor_si256(c2[8516],_mm256_xor_si256(c2[311],_mm256_xor_si256(c2[8053],_mm256_xor_si256(c2[5157],_mm256_xor_si256(c2[5641],_mm256_xor_si256(c2[3723],_mm256_xor_si256(c2[2266],_mm256_xor_si256(c2[7597],_mm256_xor_si256(c2[6647],_mm256_xor_si256(c2[9548],_mm256_xor_si256(c2[5192],_mm256_xor_si256(c2[5676],_mm256_xor_si256(c2[11513],_mm256_xor_si256(c2[10545],_mm256_xor_si256(c2[4256],_mm256_xor_si256(c2[4740],_mm256_xor_si256(c2[1366],_mm256_xor_si256(c2[10568],_mm256_xor_si256(c2[404],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[8145],_mm256_xor_si256(c2[12526],_mm256_xor_si256(c2[13489],_mm256_xor_si256(c2[2364],_mm256_xor_si256(c2[929],_mm256_xor_si256(c2[12543],_mm256_xor_si256(c2[5287],_mm256_xor_si256(c2[5771],_mm256_xor_si256(c2[7247],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[5309],c2[5793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 16
|
||||
d2[176]=_mm256_xor_si256(c2[11617],_mm256_xor_si256(c2[15009],_mm256_xor_si256(c2[9690],_mm256_xor_si256(c2[9202],_mm256_xor_si256(c2[3901],_mm256_xor_si256(c2[10190],_mm256_xor_si256(c2[7772],_mm256_xor_si256(c2[14547],_mm256_xor_si256(c2[12152],_mm256_xor_si256(c2[9250],_mm256_xor_si256(c2[3442],_mm256_xor_si256(c2[13620],_mm256_xor_si256(c2[8784],_mm256_xor_si256(c2[1523],_mm256_xor_si256(c2[2495],_mm256_xor_si256(c2[2027],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[4445],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[14630],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[11272],_mm256_xor_si256(c2[13200],_mm256_xor_si256(c2[14175],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[8873],_mm256_xor_si256(c2[11778],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[15190],_mm256_xor_si256(c2[6474],_mm256_xor_si256(c2[2618],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[11815],_mm256_xor_si256(c2[6028],_mm256_xor_si256(c2[8455],_mm256_xor_si256(c2[13778],_mm256_xor_si256(c2[9441],_mm256_xor_si256(c2[12350],_mm256_xor_si256(c2[4114],_mm256_xor_si256(c2[6060],_mm256_xor_si256(c2[2687],_mm256_xor_si256(c2[7524],_mm256_xor_si256(c2[5591],_mm256_xor_si256(c2[13363],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[15290],_mm256_xor_si256(c2[311],_mm256_xor_si256(c2[8053],_mm256_xor_si256(c2[5641],_mm256_xor_si256(c2[3723],_mm256_xor_si256(c2[2266],_mm256_xor_si256(c2[7597],_mm256_xor_si256(c2[6647],_mm256_xor_si256(c2[9548],_mm256_xor_si256(c2[5676],_mm256_xor_si256(c2[11513],_mm256_xor_si256(c2[10545],_mm256_xor_si256(c2[4740],_mm256_xor_si256(c2[1366],_mm256_xor_si256(c2[10568],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[12526],_mm256_xor_si256(c2[13489],_mm256_xor_si256(c2[2364],_mm256_xor_si256(c2[929],_mm256_xor_si256(c2[12543],_mm256_xor_si256(c2[5771],_mm256_xor_si256(c2[5774],_mm256_xor_si256(c2[7247],_mm256_xor_si256(c2[464],c2[5793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 17
|
||||
d2[187]=_mm256_xor_si256(c2[6779],_mm256_xor_si256(c2[2251],_mm256_xor_si256(c2[11491],_mm256_xor_si256(c2[10057],c2[14987]))));
|
||||
|
||||
//row: 18
|
||||
d2[198]=_mm256_xor_si256(c2[7283],_mm256_xor_si256(c2[14792],_mm256_xor_si256(c2[10941],_mm256_xor_si256(c2[10565],c2[4776]))));
|
||||
|
||||
//row: 19
|
||||
d2[209]=_mm256_xor_si256(c2[11134],_mm256_xor_si256(c2[6801],_mm256_xor_si256(c2[9354],_mm256_xor_si256(c2[1152],c2[6034]))));
|
||||
|
||||
//row: 20
|
||||
d2[220]=_mm256_xor_si256(c2[1946],_mm256_xor_si256(c2[5327],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[15007],_mm256_xor_si256(c2[12102],_mm256_xor_si256(c2[9706],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[13577],_mm256_xor_si256(c2[2470],_mm256_xor_si256(c2[15055],_mm256_xor_si256(c2[9247],_mm256_xor_si256(c2[3938],_mm256_xor_si256(c2[14589],_mm256_xor_si256(c2[7328],_mm256_xor_si256(c2[552],_mm256_xor_si256(c2[7832],_mm256_xor_si256(c2[5906],_mm256_xor_si256(c2[10261],_mm256_xor_si256(c2[6409],_mm256_xor_si256(c2[4959],_mm256_xor_si256(c2[6406],_mm256_xor_si256(c2[1590],_mm256_xor_si256(c2[3529],_mm256_xor_si256(c2[4493],_mm256_xor_si256(c2[6934],_mm256_xor_si256(c2[14678],_mm256_xor_si256(c2[2096],_mm256_xor_si256(c2[5994],_mm256_xor_si256(c2[5508],_mm256_xor_si256(c2[12279],_mm256_xor_si256(c2[8434],_mm256_xor_si256(c2[7944],_mm256_xor_si256(c2[2144],_mm256_xor_si256(c2[13270],_mm256_xor_si256(c2[11844],_mm256_xor_si256(c2[14260],_mm256_xor_si256(c2[4096],_mm256_xor_si256(c2[15246],_mm256_xor_si256(c2[2668],_mm256_xor_si256(c2[9930],_mm256_xor_si256(c2[9929],_mm256_xor_si256(c2[8492],_mm256_xor_si256(c2[13340],_mm256_xor_si256(c2[11396],_mm256_xor_si256(c2[3681],_mm256_xor_si256(c2[6098],_mm256_xor_si256(c2[5619],_mm256_xor_si256(c2[6116],_mm256_xor_si256(c2[13869],_mm256_xor_si256(c2[11446],_mm256_xor_si256(c2[9528],_mm256_xor_si256(c2[8082],_mm256_xor_si256(c2[13402],_mm256_xor_si256(c2[12452],_mm256_xor_si256(c2[15364],_mm256_xor_si256(c2[11492],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[10545],_mm256_xor_si256(c2[7182],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[6693],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[3807],_mm256_xor_si256(c2[8169],_mm256_xor_si256(c2[6734],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[11576],_mm256_xor_si256(c2[13052],_mm256_xor_si256(c2[6280],c2[11598]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 21
|
||||
d2[231]=_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[3990],_mm256_xor_si256(c2[12946],_mm256_xor_si256(c2[7704],c2[6757]))));
|
||||
|
||||
//row: 22
|
||||
d2[242]=_mm256_xor_si256(c2[11624],_mm256_xor_si256(c2[14304],_mm256_xor_si256(c2[6101],c2[8605])));
|
||||
|
||||
//row: 23
|
||||
d2[253]=_mm256_xor_si256(c2[8734],_mm256_xor_si256(c2[2948],_mm256_xor_si256(c2[10389],c2[8149])));
|
||||
|
||||
//row: 24
|
||||
d2[264]=_mm256_xor_si256(c2[3876],_mm256_xor_si256(c2[7268],_mm256_xor_si256(c2[1938],_mm256_xor_si256(c2[1461],_mm256_xor_si256(c2[2905],_mm256_xor_si256(c2[11647],_mm256_xor_si256(c2[2449],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[4400],_mm256_xor_si256(c2[1498],_mm256_xor_si256(c2[11177],_mm256_xor_si256(c2[5879],_mm256_xor_si256(c2[1043],_mm256_xor_si256(c2[9269],_mm256_xor_si256(c2[4911],_mm256_xor_si256(c2[9773],_mm256_xor_si256(c2[7836],_mm256_xor_si256(c2[12191],_mm256_xor_si256(c2[12195],_mm256_xor_si256(c2[8339],_mm256_xor_si256(c2[6889],_mm256_xor_si256(c2[8347],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[5459],_mm256_xor_si256(c2[6434],_mm256_xor_si256(c2[8875],_mm256_xor_si256(c2[1132],_mm256_xor_si256(c2[4026],_mm256_xor_si256(c2[7924],_mm256_xor_si256(c2[7438],_mm256_xor_si256(c2[14220],_mm256_xor_si256(c2[10364],_mm256_xor_si256(c2[9885],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[13774],_mm256_xor_si256(c2[714],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[4598],_mm256_xor_si256(c2[11860],_mm256_xor_si256(c2[251],_mm256_xor_si256(c2[10433],_mm256_xor_si256(c2[15270],_mm256_xor_si256(c2[13337],_mm256_xor_si256(c2[5611],_mm256_xor_si256(c2[8039],_mm256_xor_si256(c2[7549],_mm256_xor_si256(c2[8057],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[13376],_mm256_xor_si256(c2[11469],_mm256_xor_si256(c2[10012],_mm256_xor_si256(c2[15343],_mm256_xor_si256(c2[14393],_mm256_xor_si256(c2[1807],_mm256_xor_si256(c2[13422],_mm256_xor_si256(c2[3772],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[12475],_mm256_xor_si256(c2[9112],_mm256_xor_si256(c2[2816],_mm256_xor_si256(c2[8634],_mm256_xor_si256(c2[4774],_mm256_xor_si256(c2[5748],_mm256_xor_si256(c2[10099],_mm256_xor_si256(c2[8675],_mm256_xor_si256(c2[4802],_mm256_xor_si256(c2[13517],_mm256_xor_si256(c2[14982],_mm256_xor_si256(c2[8210],c2[13539]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 25
|
||||
d2[275]=_mm256_xor_si256(c2[11162],_mm256_xor_si256(c2[15143],_mm256_xor_si256(c2[7417],c2[10957])));
|
||||
|
||||
//row: 26
|
||||
d2[286]=_mm256_xor_si256(c2[2430],_mm256_xor_si256(c2[2958],_mm256_xor_si256(c2[1063],c2[1785])));
|
||||
|
||||
//row: 27
|
||||
d2[297]=_mm256_xor_si256(c2[13092],_mm256_xor_si256(c2[3046],c2[5992]));
|
||||
|
||||
//row: 28
|
||||
d2[308]=_mm256_xor_si256(c2[2907],_mm256_xor_si256(c2[572],_mm256_xor_si256(c2[4291],c2[3855])));
|
||||
|
||||
//row: 29
|
||||
d2[319]=_mm256_xor_si256(c2[8713],_mm256_xor_si256(c2[12105],_mm256_xor_si256(c2[6786],_mm256_xor_si256(c2[5814],_mm256_xor_si256(c2[6298],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[7286],_mm256_xor_si256(c2[4384],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[8258],_mm256_xor_si256(c2[9248],_mm256_xor_si256(c2[6346],_mm256_xor_si256(c2[538],_mm256_xor_si256(c2[10716],_mm256_xor_si256(c2[5880],_mm256_xor_si256(c2[13622],_mm256_xor_si256(c2[14106],_mm256_xor_si256(c2[14610],_mm256_xor_si256(c2[12673],_mm256_xor_si256(c2[1057],_mm256_xor_si256(c2[1541],_mm256_xor_si256(c2[13187],_mm256_xor_si256(c2[11726],_mm256_xor_si256(c2[13184],_mm256_xor_si256(c2[8368],_mm256_xor_si256(c2[10296],_mm256_xor_si256(c2[10787],_mm256_xor_si256(c2[11271],_mm256_xor_si256(c2[13712],_mm256_xor_si256(c2[5969],_mm256_xor_si256(c2[8390],_mm256_xor_si256(c2[8874],_mm256_xor_si256(c2[12761],_mm256_xor_si256(c2[12286],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[3570],_mm256_xor_si256(c2[15212],_mm256_xor_si256(c2[14722],_mm256_xor_si256(c2[8911],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[5551],_mm256_xor_si256(c2[10390],_mm256_xor_si256(c2[10874],_mm256_xor_si256(c2[6537],_mm256_xor_si256(c2[9446],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[15270],_mm256_xor_si256(c2[4620],_mm256_xor_si256(c2[2203],_mm256_xor_si256(c2[2687],_mm256_xor_si256(c2[10459],_mm256_xor_si256(c2[12876],_mm256_xor_si256(c2[11902],_mm256_xor_si256(c2[12386],_mm256_xor_si256(c2[12894],_mm256_xor_si256(c2[5149],_mm256_xor_si256(c2[2253],_mm256_xor_si256(c2[2737],_mm256_xor_si256(c2[4183],_mm256_xor_si256(c2[819],_mm256_xor_si256(c2[14860],_mm256_xor_si256(c2[4693],_mm256_xor_si256(c2[3743],_mm256_xor_si256(c2[6644],_mm256_xor_si256(c2[2288],_mm256_xor_si256(c2[2772],_mm256_xor_si256(c2[8609],_mm256_xor_si256(c2[7641],_mm256_xor_si256(c2[1352],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[13949],_mm256_xor_si256(c2[7664],_mm256_xor_si256(c2[12987],_mm256_xor_si256(c2[13471],_mm256_xor_si256(c2[9599],_mm256_xor_si256(c2[9622],_mm256_xor_si256(c2[10585],_mm256_xor_si256(c2[14947],_mm256_xor_si256(c2[13512],_mm256_xor_si256(c2[9639],_mm256_xor_si256(c2[2383],_mm256_xor_si256(c2[2867],_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[13047],_mm256_xor_si256(c2[2405],c2[2889]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 30
|
||||
d2[330]=_mm256_xor_si256(c2[13072],_mm256_xor_si256(c2[977],_mm256_xor_si256(c2[10650],_mm256_xor_si256(c2[11134],_mm256_xor_si256(c2[10173],_mm256_xor_si256(c2[10657],_mm256_xor_si256(c2[5329],_mm256_xor_si256(c2[5356],_mm256_xor_si256(c2[11161],_mm256_xor_si256(c2[11645],_mm256_xor_si256(c2[8743],_mm256_xor_si256(c2[9227],_mm256_xor_si256(c2[13596],_mm256_xor_si256(c2[10694],_mm256_xor_si256(c2[4402],_mm256_xor_si256(c2[4886],_mm256_xor_si256(c2[15075],_mm256_xor_si256(c2[10239],_mm256_xor_si256(c2[2494],_mm256_xor_si256(c2[2978],_mm256_xor_si256(c2[3482],_mm256_xor_si256(c2[1061],_mm256_xor_si256(c2[1545],_mm256_xor_si256(c2[5416],_mm256_xor_si256(c2[5900],_mm256_xor_si256(c2[2048],_mm256_xor_si256(c2[598],_mm256_xor_si256(c2[1572],_mm256_xor_si256(c2[2056],_mm256_xor_si256(c2[12716],_mm256_xor_si256(c2[14171],_mm256_xor_si256(c2[14655],_mm256_xor_si256(c2[15146],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[2584],_mm256_xor_si256(c2[9844],_mm256_xor_si256(c2[10328],_mm256_xor_si256(c2[12738],_mm256_xor_si256(c2[13222],_mm256_xor_si256(c2[1633],_mm256_xor_si256(c2[663],_mm256_xor_si256(c2[1147],_mm256_xor_si256(c2[7445],_mm256_xor_si256(c2[7929],_mm256_xor_si256(c2[4073],_mm256_xor_si256(c2[3594],_mm256_xor_si256(c2[12786],_mm256_xor_si256(c2[13270],_mm256_xor_si256(c2[7483],_mm256_xor_si256(c2[9426],_mm256_xor_si256(c2[9910],_mm256_xor_si256(c2[14749],_mm256_xor_si256(c2[15233],_mm256_xor_si256(c2[7964],_mm256_xor_si256(c2[10896],_mm256_xor_si256(c2[13794],_mm256_xor_si256(c2[5085],_mm256_xor_si256(c2[5569],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[8979],_mm256_xor_si256(c2[6562],_mm256_xor_si256(c2[7046],_mm256_xor_si256(c2[14807],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[1748],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[1258],_mm256_xor_si256(c2[15292],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[9024],_mm256_xor_si256(c2[9508],_mm256_xor_si256(c2[6601],_mm256_xor_si256(c2[7085],_mm256_xor_si256(c2[5178],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[8568],_mm256_xor_si256(c2[9052],_mm256_xor_si256(c2[8102],_mm256_xor_si256(c2[11003],_mm256_xor_si256(c2[6647],_mm256_xor_si256(c2[7131],_mm256_xor_si256(c2[12968],_mm256_xor_si256(c2[11516],_mm256_xor_si256(c2[12000],_mm256_xor_si256(c2[5700],_mm256_xor_si256(c2[6184],_mm256_xor_si256(c2[2821],_mm256_xor_si256(c2[11528],_mm256_xor_si256(c2[12012],_mm256_xor_si256(c2[1848],_mm256_xor_si256(c2[2332],_mm256_xor_si256(c2[13970],_mm256_xor_si256(c2[14944],_mm256_xor_si256(c2[3324],_mm256_xor_si256(c2[3808],_mm256_xor_si256(c2[2384],_mm256_xor_si256(c2[13514],_mm256_xor_si256(c2[13998],_mm256_xor_si256(c2[6742],_mm256_xor_si256(c2[7226],_mm256_xor_si256(c2[8691],_mm256_xor_si256(c2[1919],_mm256_xor_si256(c2[6764],c2[7248])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 31
|
||||
d2[341]=_mm256_xor_si256(c2[14042],_mm256_xor_si256(c2[2425],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[5817],_mm256_xor_si256(c2[12104],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[11616],_mm256_xor_si256(c2[15013],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[6315],_mm256_xor_si256(c2[10196],_mm256_xor_si256(c2[12615],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[10186],_mm256_xor_si256(c2[13583],_mm256_xor_si256(c2[14067],_mm256_xor_si256(c2[2445],_mm256_xor_si256(c2[14566],_mm256_xor_si256(c2[2949],_mm256_xor_si256(c2[11664],_mm256_xor_si256(c2[47],_mm256_xor_si256(c2[5856],_mm256_xor_si256(c2[9726],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[4428],_mm256_xor_si256(c2[11198],_mm256_xor_si256(c2[15079],_mm256_xor_si256(c2[3948],_mm256_xor_si256(c2[7334],_mm256_xor_si256(c2[7818],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[8322],_mm256_xor_si256(c2[2515],_mm256_xor_si256(c2[6385],_mm256_xor_si256(c2[6870],_mm256_xor_si256(c2[10256],_mm256_xor_si256(c2[10740],_mm256_xor_si256(c2[3018],_mm256_xor_si256(c2[6888],_mm256_xor_si256(c2[1568],_mm256_xor_si256(c2[5438],_mm256_xor_si256(c2[3015],_mm256_xor_si256(c2[6896],_mm256_xor_si256(c2[13686],_mm256_xor_si256(c2[2069],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[4008],_mm256_xor_si256(c2[1102],_mm256_xor_si256(c2[4488],_mm256_xor_si256(c2[4972],_mm256_xor_si256(c2[3543],_mm256_xor_si256(c2[7424],_mm256_xor_si256(c2[11287],_mm256_xor_si256(c2[15168],_mm256_xor_si256(c2[14192],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[2575],_mm256_xor_si256(c2[4519],_mm256_xor_si256(c2[2603],_mm256_xor_si256(c2[6473],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[5987],_mm256_xor_si256(c2[8888],_mm256_xor_si256(c2[12285],_mm256_xor_si256(c2[12769],_mm256_xor_si256(c2[5043],_mm256_xor_si256(c2[8913],_mm256_xor_si256(c2[4564],_mm256_xor_si256(c2[8434],_mm256_xor_si256(c2[14240],_mm256_xor_si256(c2[2623],_mm256_xor_si256(c2[8453],_mm256_xor_si256(c2[12323],_mm256_xor_si256(c2[10869],_mm256_xor_si256(c2[14750],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[4102],_mm256_xor_si256(c2[4586],_mm256_xor_si256(c2[11866],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[14764],_mm256_xor_si256(c2[3147],_mm256_xor_si256(c2[6539],_mm256_xor_si256(c2[9925],_mm256_xor_si256(c2[10409],_mm256_xor_si256(c2[5112],_mm256_xor_si256(c2[8982],_mm256_xor_si256(c2[9949],_mm256_xor_si256(c2[13819],_mm256_xor_si256(c2[8016],_mm256_xor_si256(c2[11402],_mm256_xor_si256(c2[11886],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[4160],_mm256_xor_si256(c2[2707],_mm256_xor_si256(c2[6588],_mm256_xor_si256(c2[2228],_mm256_xor_si256(c2[5614],_mm256_xor_si256(c2[6098],_mm256_xor_si256(c2[2736],_mm256_xor_si256(c2[6606],_mm256_xor_si256(c2[10478],_mm256_xor_si256(c2[14348],_mm256_xor_si256(c2[8055],_mm256_xor_si256(c2[11441],_mm256_xor_si256(c2[11925],_mm256_xor_si256(c2[6148],_mm256_xor_si256(c2[10018],_mm256_xor_si256(c2[4691],_mm256_xor_si256(c2[8561],_mm256_xor_si256(c2[10011],_mm256_xor_si256(c2[13892],_mm256_xor_si256(c2[9072],_mm256_xor_si256(c2[12942],_mm256_xor_si256(c2[11973],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[8101],_mm256_xor_si256(c2[11487],_mm256_xor_si256(c2[11971],_mm256_xor_si256(c2[13927],_mm256_xor_si256(c2[2310],_mm256_xor_si256(c2[12959],_mm256_xor_si256(c2[1342],_mm256_xor_si256(c2[7154],_mm256_xor_si256(c2[10540],_mm256_xor_si256(c2[11024],_mm256_xor_si256(c2[3791],_mm256_xor_si256(c2[7661],_mm256_xor_si256(c2[12982],_mm256_xor_si256(c2[1365],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[6688],_mm256_xor_si256(c2[7172],_mm256_xor_si256(c2[14940],_mm256_xor_si256(c2[3323],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[4297],_mm256_xor_si256(c2[4778],_mm256_xor_si256(c2[8648],_mm256_xor_si256(c2[3354],_mm256_xor_si256(c2[7224],_mm256_xor_si256(c2[14968],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[8185],_mm256_xor_si256(c2[11582],_mm256_xor_si256(c2[12066],_mm256_xor_si256(c2[9661],_mm256_xor_si256(c2[13531],_mm256_xor_si256(c2[2889],_mm256_xor_si256(c2[6759],_mm256_xor_si256(c2[8207],_mm256_xor_si256(c2[11604],c2[12088]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 32
|
||||
d2[352]=_mm256_xor_si256(c2[12584],_mm256_xor_si256(c2[489],_mm256_xor_si256(c2[10173],_mm256_xor_si256(c2[10657],_mm256_xor_si256(c2[9685],_mm256_xor_si256(c2[10169],_mm256_xor_si256(c2[15014],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[10673],_mm256_xor_si256(c2[11157],_mm256_xor_si256(c2[8255],_mm256_xor_si256(c2[8739],_mm256_xor_si256(c2[13119],_mm256_xor_si256(c2[10217],_mm256_xor_si256(c2[3925],_mm256_xor_si256(c2[4409],_mm256_xor_si256(c2[14587],_mm256_xor_si256(c2[9751],_mm256_xor_si256(c2[2006],_mm256_xor_si256(c2[2490],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[573],_mm256_xor_si256(c2[1057],_mm256_xor_si256(c2[4928],_mm256_xor_si256(c2[5412],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[1568],_mm256_xor_si256(c2[12239],_mm256_xor_si256(c2[13694],_mm256_xor_si256(c2[14178],_mm256_xor_si256(c2[14658],_mm256_xor_si256(c2[15142],_mm256_xor_si256(c2[2096],_mm256_xor_si256(c2[9356],_mm256_xor_si256(c2[9840],_mm256_xor_si256(c2[12261],_mm256_xor_si256(c2[12745],_mm256_xor_si256(c2[1145],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[670],_mm256_xor_si256(c2[6957],_mm256_xor_si256(c2[7441],_mm256_xor_si256(c2[3596],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[12298],_mm256_xor_si256(c2[12782],_mm256_xor_si256(c2[7006],_mm256_xor_si256(c2[8938],_mm256_xor_si256(c2[9422],_mm256_xor_si256(c2[14261],_mm256_xor_si256(c2[14745],_mm256_xor_si256(c2[10408],_mm256_xor_si256(c2[13317],_mm256_xor_si256(c2[4608],_mm256_xor_si256(c2[5092],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[8502],_mm256_xor_si256(c2[6074],_mm256_xor_si256(c2[6558],_mm256_xor_si256(c2[4628],_mm256_xor_si256(c2[14330],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[286],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[8536],_mm256_xor_si256(c2[9020],_mm256_xor_si256(c2[6124],_mm256_xor_si256(c2[6608],_mm256_xor_si256(c2[9030],_mm256_xor_si256(c2[4690],_mm256_xor_si256(c2[3244],_mm256_xor_si256(c2[8080],_mm256_xor_si256(c2[8564],_mm256_xor_si256(c2[7614],_mm256_xor_si256(c2[10526],_mm256_xor_si256(c2[6170],_mm256_xor_si256(c2[6654],_mm256_xor_si256(c2[12480],_mm256_xor_si256(c2[11028],_mm256_xor_si256(c2[11512],_mm256_xor_si256(c2[5223],_mm256_xor_si256(c2[5707],_mm256_xor_si256(c2[2333],_mm256_xor_si256(c2[11051],_mm256_xor_si256(c2[11535],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[1855],_mm256_xor_si256(c2[13493],_mm256_xor_si256(c2[14456],_mm256_xor_si256(c2[2847],_mm256_xor_si256(c2[3331],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[13026],_mm256_xor_si256(c2[13510],_mm256_xor_si256(c2[6254],_mm256_xor_si256(c2[6738],_mm256_xor_si256(c2[8214],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[6276],c2[6760])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 33
|
||||
d2[363]=_mm256_xor_si256(c2[11639],_mm256_xor_si256(c2[7797],_mm256_xor_si256(c2[6538],c2[2885])));
|
||||
|
||||
//row: 34
|
||||
d2[374]=_mm256_xor_si256(c2[13553],_mm256_xor_si256(c2[164],_mm256_xor_si256(c2[8077],c2[11023])));
|
||||
|
||||
//row: 35
|
||||
d2[385]=_mm256_xor_si256(c2[8718],_mm256_xor_si256(c2[12110],_mm256_xor_si256(c2[6780],_mm256_xor_si256(c2[6292],_mm256_xor_si256(c2[991],_mm256_xor_si256(c2[7291],_mm256_xor_si256(c2[4862],_mm256_xor_si256(c2[1961],_mm256_xor_si256(c2[9242],_mm256_xor_si256(c2[6340],_mm256_xor_si256(c2[532],_mm256_xor_si256(c2[10721],_mm256_xor_si256(c2[5874],_mm256_xor_si256(c2[14111],_mm256_xor_si256(c2[14615],_mm256_xor_si256(c2[12678],_mm256_xor_si256(c2[1546],_mm256_xor_si256(c2[13181],_mm256_xor_si256(c2[11731],_mm256_xor_si256(c2[13178],_mm256_xor_si256(c2[8362],_mm256_xor_si256(c2[10301],_mm256_xor_si256(c2[11265],_mm256_xor_si256(c2[8850],_mm256_xor_si256(c2[13706],_mm256_xor_si256(c2[5963],_mm256_xor_si256(c2[8868],_mm256_xor_si256(c2[12766],_mm256_xor_si256(c2[12280],_mm256_xor_si256(c2[3564],_mm256_xor_si256(c2[15206],_mm256_xor_si256(c2[14727],_mm256_xor_si256(c2[8916],_mm256_xor_si256(c2[3129],_mm256_xor_si256(c2[5545],_mm256_xor_si256(c2[10868],_mm256_xor_si256(c2[6542],_mm256_xor_si256(c2[9440],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[15275],_mm256_xor_si256(c2[4625],_mm256_xor_si256(c2[2692],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[10453],_mm256_xor_si256(c2[12870],_mm256_xor_si256(c2[12391],_mm256_xor_si256(c2[12899],_mm256_xor_si256(c2[5154],_mm256_xor_si256(c2[2731],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[14854],_mm256_xor_si256(c2[4687],_mm256_xor_si256(c2[3748],_mm256_xor_si256(c2[6649],_mm256_xor_si256(c2[2777],_mm256_xor_si256(c2[8603],_mm256_xor_si256(c2[7635],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[13954],_mm256_xor_si256(c2[7658],_mm256_xor_si256(c2[13465],_mm256_xor_si256(c2[9616],_mm256_xor_si256(c2[10590],_mm256_xor_si256(c2[14941],_mm256_xor_si256(c2[13517],_mm256_xor_si256(c2[9644],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[4337],_mm256_xor_si256(c2[13052],c2[2883])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 36
|
||||
d2[396]=_mm256_xor_si256(c2[3392],_mm256_xor_si256(c2[7568],_mm256_xor_si256(c2[1783],c2[13953])));
|
||||
|
||||
//row: 37
|
||||
d2[407]=_mm256_xor_si256(c2[13068],_mm256_xor_si256(c2[13552],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[11625],_mm256_xor_si256(c2[11137],_mm256_xor_si256(c2[5352],_mm256_xor_si256(c2[5836],_mm256_xor_si256(c2[12125],_mm256_xor_si256(c2[9707],_mm256_xor_si256(c2[15035],_mm256_xor_si256(c2[13603],_mm256_xor_si256(c2[14087],_mm256_xor_si256(c2[11185],_mm256_xor_si256(c2[5377],_mm256_xor_si256(c2[15071],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[10719],_mm256_xor_si256(c2[3458],_mm256_xor_si256(c2[3962],_mm256_xor_si256(c2[2025],_mm256_xor_si256(c2[6380],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[2539],_mm256_xor_si256(c2[1078],_mm256_xor_si256(c2[2536],_mm256_xor_si256(c2[12723],_mm256_xor_si256(c2[13207],_mm256_xor_si256(c2[15146],_mm256_xor_si256(c2[623],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[10808],_mm256_xor_si256(c2[13713],_mm256_xor_si256(c2[2113],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[8409],_mm256_xor_si256(c2[4080],_mm256_xor_si256(c2[4564],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[13750],_mm256_xor_si256(c2[7490],_mm256_xor_si256(c2[7974],_mm256_xor_si256(c2[10390],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[10892],_mm256_xor_si256(c2[11376],_mm256_xor_si256(c2[14285],_mm256_xor_si256(c2[6060],_mm256_xor_si256(c2[4138],_mm256_xor_si256(c2[4622],_mm256_xor_si256(c2[9470],_mm256_xor_si256(c2[7526],_mm256_xor_si256(c2[14814],_mm256_xor_si256(c2[15298],_mm256_xor_si256(c2[2228],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[6101],_mm256_xor_si256(c2[2246],_mm256_xor_si256(c2[9988],_mm256_xor_si256(c2[7576],_mm256_xor_si256(c2[5174],_mm256_xor_si256(c2[5658],_mm256_xor_si256(c2[4212],_mm256_xor_si256(c2[9532],_mm256_xor_si256(c2[8098],_mm256_xor_si256(c2[8582],_mm256_xor_si256(c2[11494],_mm256_xor_si256(c2[7622],_mm256_xor_si256(c2[13448],_mm256_xor_si256(c2[12480],_mm256_xor_si256(c2[6675],_mm256_xor_si256(c2[2817],_mm256_xor_si256(c2[3301],_mm256_xor_si256(c2[12503],_mm256_xor_si256(c2[2823],_mm256_xor_si256(c2[13977],_mm256_xor_si256(c2[14461],_mm256_xor_si256(c2[15424],_mm256_xor_si256(c2[4299],_mm256_xor_si256(c2[2380],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[14478],_mm256_xor_si256(c2[7706],_mm256_xor_si256(c2[8698],_mm256_xor_si256(c2[9182],_mm256_xor_si256(c2[2399],c2[7728])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 38
|
||||
d2[418]=_mm256_xor_si256(c2[1941],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[8454],c2[10919])));
|
||||
|
||||
//row: 39
|
||||
d2[429]=_mm256_xor_si256(c2[5837],_mm256_xor_si256(c2[3946],_mm256_xor_si256(c2[2575],c2[8170])));
|
||||
|
||||
//row: 40
|
||||
d2[440]=_mm256_xor_si256(c2[7753],_mm256_xor_si256(c2[6475],c2[3766]));
|
||||
|
||||
//row: 41
|
||||
d2[451]=_mm256_xor_si256(c2[13093],_mm256_xor_si256(c2[6360],_mm256_xor_si256(c2[12298],c2[8148])));
|
||||
|
||||
//row: 42
|
||||
d2[462]=_mm256_xor_si256(c2[11625],_mm256_xor_si256(c2[15006],_mm256_xor_si256(c2[9203],_mm256_xor_si256(c2[9687],_mm256_xor_si256(c2[8715],_mm256_xor_si256(c2[9199],_mm256_xor_si256(c2[9],_mm256_xor_si256(c2[3898],_mm256_xor_si256(c2[9703],_mm256_xor_si256(c2[10187],_mm256_xor_si256(c2[7285],_mm256_xor_si256(c2[7769],_mm256_xor_si256(c2[12149],_mm256_xor_si256(c2[9247],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[3439],_mm256_xor_si256(c2[13628],_mm256_xor_si256(c2[8781],_mm256_xor_si256(c2[1036],_mm256_xor_si256(c2[1520],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[15101],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[3969],_mm256_xor_si256(c2[4453],_mm256_xor_si256(c2[9286],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[14638],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[598],_mm256_xor_si256(c2[11269],_mm256_xor_si256(c2[12724],_mm256_xor_si256(c2[13208],_mm256_xor_si256(c2[13688],_mm256_xor_si256(c2[14172],_mm256_xor_si256(c2[1126],_mm256_xor_si256(c2[8386],_mm256_xor_si256(c2[8870],_mm256_xor_si256(c2[11291],_mm256_xor_si256(c2[11775],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[14703],_mm256_xor_si256(c2[15187],_mm256_xor_si256(c2[5987],_mm256_xor_si256(c2[6471],_mm256_xor_si256(c2[2626],_mm256_xor_si256(c2[2136],_mm256_xor_si256(c2[11339],_mm256_xor_si256(c2[11823],_mm256_xor_si256(c2[6036],_mm256_xor_si256(c2[7968],_mm256_xor_si256(c2[8452],_mm256_xor_si256(c2[13291],_mm256_xor_si256(c2[13775],_mm256_xor_si256(c2[9438],_mm256_xor_si256(c2[12347],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[4122],_mm256_xor_si256(c2[2684],_mm256_xor_si256(c2[7532],_mm256_xor_si256(c2[5104],_mm256_xor_si256(c2[5588],_mm256_xor_si256(c2[13360],_mm256_xor_si256(c2[15293],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[14814],_mm256_xor_si256(c2[15298],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[7577],_mm256_xor_si256(c2[8061],_mm256_xor_si256(c2[5154],_mm256_xor_si256(c2[5638],_mm256_xor_si256(c2[3720],_mm256_xor_si256(c2[2274],_mm256_xor_si256(c2[7110],_mm256_xor_si256(c2[7594],_mm256_xor_si256(c2[6644],_mm256_xor_si256(c2[9556],_mm256_xor_si256(c2[5200],_mm256_xor_si256(c2[5684],_mm256_xor_si256(c2[11510],_mm256_xor_si256(c2[10058],_mm256_xor_si256(c2[10542],_mm256_xor_si256(c2[4253],_mm256_xor_si256(c2[4737],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[10081],_mm256_xor_si256(c2[10565],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[12523],_mm256_xor_si256(c2[13486],_mm256_xor_si256(c2[1877],_mm256_xor_si256(c2[2361],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[12056],_mm256_xor_si256(c2[12540],_mm256_xor_si256(c2[5284],_mm256_xor_si256(c2[5768],_mm256_xor_si256(c2[7244],_mm256_xor_si256(c2[472],_mm256_xor_si256(c2[5306],c2[5790]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 43
|
||||
d2[473]=_mm256_xor_si256(c2[6779],_mm256_xor_si256(c2[10171],_mm256_xor_si256(c2[4841],_mm256_xor_si256(c2[3880],_mm256_xor_si256(c2[4364],_mm256_xor_si256(c2[14550],_mm256_xor_si256(c2[5352],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[2934],_mm256_xor_si256(c2[8740],_mm256_xor_si256(c2[7314],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[14080],_mm256_xor_si256(c2[8782],_mm256_xor_si256(c2[3946],_mm256_xor_si256(c2[11688],_mm256_xor_si256(c2[12172],_mm256_xor_si256(c2[12676],_mm256_xor_si256(c2[10739],_mm256_xor_si256(c2[14610],_mm256_xor_si256(c2[15094],_mm256_xor_si256(c2[11242],_mm256_xor_si256(c2[9792],_mm256_xor_si256(c2[11250],_mm256_xor_si256(c2[6434],_mm256_xor_si256(c2[8362],_mm256_xor_si256(c2[8853],_mm256_xor_si256(c2[9337],_mm256_xor_si256(c2[11778],_mm256_xor_si256(c2[4035],_mm256_xor_si256(c2[6456],_mm256_xor_si256(c2[6940],_mm256_xor_si256(c2[10827],_mm256_xor_si256(c2[10341],_mm256_xor_si256(c2[1152],_mm256_xor_si256(c2[1636],_mm256_xor_si256(c2[13267],_mm256_xor_si256(c2[12788],_mm256_xor_si256(c2[6977],_mm256_xor_si256(c2[1190],_mm256_xor_si256(c2[3617],_mm256_xor_si256(c2[8456],_mm256_xor_si256(c2[8940],_mm256_xor_si256(c2[4603],_mm256_xor_si256(c2[7512],_mm256_xor_si256(c2[14279],_mm256_xor_si256(c2[14763],_mm256_xor_si256(c2[13336],_mm256_xor_si256(c2[2686],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[8514],_mm256_xor_si256(c2[10942],_mm256_xor_si256(c2[9968],_mm256_xor_si256(c2[10452],_mm256_xor_si256(c2[10960],_mm256_xor_si256(c2[3215],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[14372],_mm256_xor_si256(c2[12915],_mm256_xor_si256(c2[2759],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[4710],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[838],_mm256_xor_si256(c2[1804],_mm256_xor_si256(c2[6675],_mm256_xor_si256(c2[5707],_mm256_xor_si256(c2[14894],_mm256_xor_si256(c2[15378],_mm256_xor_si256(c2[12015],_mm256_xor_si256(c2[5730],_mm256_xor_si256(c2[11053],_mm256_xor_si256(c2[11537],_mm256_xor_si256(c2[10561],_mm256_xor_si256(c2[7688],_mm256_xor_si256(c2[8651],_mm256_xor_si256(c2[13002],_mm256_xor_si256(c2[11578],_mm256_xor_si256(c2[7705],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[2398],_mm256_xor_si256(c2[11113],_mm256_xor_si256(c2[471],c2[955]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 44
|
||||
d2[484]=_mm256_xor_si256(c2[10654],_mm256_xor_si256(c2[14046],_mm256_xor_si256(c2[8716],_mm256_xor_si256(c2[8228],_mm256_xor_si256(c2[7262],_mm256_xor_si256(c2[2927],_mm256_xor_si256(c2[9227],_mm256_xor_si256(c2[6798],_mm256_xor_si256(c2[11178],_mm256_xor_si256(c2[8276],_mm256_xor_si256(c2[2468],_mm256_xor_si256(c2[12657],_mm256_xor_si256(c2[7810],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[14614],_mm256_xor_si256(c2[3482],_mm256_xor_si256(c2[15117],_mm256_xor_si256(c2[13667],_mm256_xor_si256(c2[15114],_mm256_xor_si256(c2[10298],_mm256_xor_si256(c2[12237],_mm256_xor_si256(c2[13201],_mm256_xor_si256(c2[155],_mm256_xor_si256(c2[7899],_mm256_xor_si256(c2[10804],_mm256_xor_si256(c2[9841],_mm256_xor_si256(c2[14702],_mm256_xor_si256(c2[14216],_mm256_xor_si256(c2[5500],_mm256_xor_si256(c2[1655],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[10852],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[5065],_mm256_xor_si256(c2[7481],_mm256_xor_si256(c2[12804],_mm256_xor_si256(c2[8478],_mm256_xor_si256(c2[11376],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[1724],_mm256_xor_si256(c2[6561],_mm256_xor_si256(c2[4628],_mm256_xor_si256(c2[12389],_mm256_xor_si256(c2[14806],_mm256_xor_si256(c2[14327],_mm256_xor_si256(c2[14835],_mm256_xor_si256(c2[7090],_mm256_xor_si256(c2[4667],_mm256_xor_si256(c2[2760],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[6623],_mm256_xor_si256(c2[5684],_mm256_xor_si256(c2[8585],_mm256_xor_si256(c2[4713],_mm256_xor_si256(c2[10539],_mm256_xor_si256(c2[9571],_mm256_xor_si256(c2[3766],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[9594],_mm256_xor_si256(c2[15401],_mm256_xor_si256(c2[11552],_mm256_xor_si256(c2[12526],_mm256_xor_si256(c2[1390],_mm256_xor_si256(c2[15453],_mm256_xor_si256(c2[11580],_mm256_xor_si256(c2[4797],_mm256_xor_si256(c2[6273],_mm256_xor_si256(c2[14988],c2[4819])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
|
||||
//row: 45
|
||||
d2[495]=_mm256_xor_si256(c2[8736],_mm256_xor_si256(c2[1586],c2[5551]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user