Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators. - Changes: - use SIMDE consistently - adaptations of LDPC decoder generator for ARMv8 performance - SIMDe modifications of Intel CRC to allow for aarch64 build. optimizations for 128-bit to improve performance of LDPC encode/decode on aarch64 (Neoverse 1) - added BG2 files for 128-bit ldpc encoder (aarch64) - testing on Xeon - testing on x86 - minor changes to build/run on x86 - change in crc.h after returning to aarch64 - removed some warning in ldpc decoder generator for x86_64 - char - Delete irrelevant constants - Correctly declare variables - Define stdbool for all architectures - Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE - Remove commented code - Fix CMakeLists.txt - Include SIMDE avx2 functions in tools_defs.h
141 lines
46 KiB
C
141 lines
46 KiB
C
#ifdef __AVX2__
|
|
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=128, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc128_byte(uint8_t *c,uint8_t *d) {
|
|
simde__m256i *csimd=(simde__m256i *)c,*dsimd=(simde__m256i *)d;
|
|
simde__m256i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<4; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm256_xor_si256(c2[640],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[1282],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[1371],simde_mm256_xor_si256(c2[568],simde_mm256_xor_si256(c2[898],simde_mm256_xor_si256(c2[2017],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[2275],simde_mm256_xor_si256(c2[1553],simde_mm256_xor_si256(c2[2352],simde_mm256_xor_si256(c2[2283],simde_mm256_xor_si256(c2[603],simde_mm256_xor_si256(c2[2289],simde_mm256_xor_si256(c2[131],simde_mm256_xor_si256(c2[1330],simde_mm256_xor_si256(c2[2216],simde_mm256_xor_si256(c2[1737],simde_mm256_xor_si256(c2[2546],simde_mm256_xor_si256(c2[1267],simde_mm256_xor_si256(c2[1424],simde_mm256_xor_si256(c2[1034],simde_mm256_xor_si256(c2[2235],c2[2555]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[4]=simde_mm256_xor_si256(c2[720],simde_mm256_xor_si256(c2[640],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[1282],simde_mm256_xor_si256(c2[1691],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[1371],simde_mm256_xor_si256(c2[568],simde_mm256_xor_si256(c2[978],simde_mm256_xor_si256(c2[898],simde_mm256_xor_si256(c2[2017],simde_mm256_xor_si256(c2[2104],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[2275],simde_mm256_xor_si256(c2[1553],simde_mm256_xor_si256(c2[2352],simde_mm256_xor_si256(c2[2283],simde_mm256_xor_si256(c2[603],simde_mm256_xor_si256(c2[2369],simde_mm256_xor_si256(c2[2289],simde_mm256_xor_si256(c2[131],simde_mm256_xor_si256(c2[1330],simde_mm256_xor_si256(c2[2216],simde_mm256_xor_si256(c2[1737],simde_mm256_xor_si256(c2[2546],simde_mm256_xor_si256(c2[1267],simde_mm256_xor_si256(c2[1424],simde_mm256_xor_si256(c2[1114],simde_mm256_xor_si256(c2[1034],simde_mm256_xor_si256(c2[2235],c2[2555]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[8]=simde_mm256_xor_si256(c2[720],simde_mm256_xor_si256(c2[640],simde_mm256_xor_si256(c2[561],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[1282],simde_mm256_xor_si256(c2[1691],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[1371],simde_mm256_xor_si256(c2[568],simde_mm256_xor_si256(c2[978],simde_mm256_xor_si256(c2[898],simde_mm256_xor_si256(c2[2017],simde_mm256_xor_si256(c2[2104],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[505],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[2355],simde_mm256_xor_si256(c2[2275],simde_mm256_xor_si256(c2[1553],simde_mm256_xor_si256(c2[2352],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[2283],simde_mm256_xor_si256(c2[603],simde_mm256_xor_si256(c2[2369],simde_mm256_xor_si256(c2[2289],simde_mm256_xor_si256(c2[211],simde_mm256_xor_si256(c2[131],simde_mm256_xor_si256(c2[1330],simde_mm256_xor_si256(c2[2296],simde_mm256_xor_si256(c2[2216],simde_mm256_xor_si256(c2[1737],simde_mm256_xor_si256(c2[67],simde_mm256_xor_si256(c2[2546],simde_mm256_xor_si256(c2[1267],simde_mm256_xor_si256(c2[1424],simde_mm256_xor_si256(c2[1114],simde_mm256_xor_si256(c2[1034],simde_mm256_xor_si256(c2[2315],simde_mm256_xor_si256(c2[2235],c2[2555]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[12]=simde_mm256_xor_si256(c2[640],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[1282],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[1371],simde_mm256_xor_si256(c2[648],simde_mm256_xor_si256(c2[568],simde_mm256_xor_si256(c2[898],simde_mm256_xor_si256(c2[2097],simde_mm256_xor_si256(c2[2017],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[2275],simde_mm256_xor_si256(c2[1553],simde_mm256_xor_si256(c2[2432],simde_mm256_xor_si256(c2[2352],simde_mm256_xor_si256(c2[2283],simde_mm256_xor_si256(c2[683],simde_mm256_xor_si256(c2[603],simde_mm256_xor_si256(c2[2289],simde_mm256_xor_si256(c2[131],simde_mm256_xor_si256(c2[1410],simde_mm256_xor_si256(c2[1330],simde_mm256_xor_si256(c2[2216],simde_mm256_xor_si256(c2[1817],simde_mm256_xor_si256(c2[1737],simde_mm256_xor_si256(c2[2546],simde_mm256_xor_si256(c2[1267],simde_mm256_xor_si256(c2[1504],simde_mm256_xor_si256(c2[1424],simde_mm256_xor_si256(c2[1034],simde_mm256_xor_si256(c2[2235],simde_mm256_xor_si256(c2[72],c2[2555]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[16]=simde_mm256_xor_si256(c2[1282],simde_mm256_xor_si256(c2[1202],simde_mm256_xor_si256(c2[1043],simde_mm256_xor_si256(c2[1840],simde_mm256_xor_si256(c2[1521],simde_mm256_xor_si256(c2[2249],simde_mm256_xor_si256(c2[2169],simde_mm256_xor_si256(c2[1929],simde_mm256_xor_si256(c2[1130],simde_mm256_xor_si256(c2[1770],simde_mm256_xor_si256(c2[1536],simde_mm256_xor_si256(c2[1456],simde_mm256_xor_si256(c2[16],simde_mm256_xor_si256(c2[107],simde_mm256_xor_si256(c2[27],simde_mm256_xor_si256(c2[987],simde_mm256_xor_si256(c2[1467],simde_mm256_xor_si256(c2[274],simde_mm256_xor_si256(c2[2115],simde_mm256_xor_si256(c2[355],simde_mm256_xor_si256(c2[282],simde_mm256_xor_si256(c2[1161],simde_mm256_xor_si256(c2[368],simde_mm256_xor_si256(c2[288],simde_mm256_xor_si256(c2[689],simde_mm256_xor_si256(c2[1888],simde_mm256_xor_si256(c2[219],simde_mm256_xor_si256(c2[2299],simde_mm256_xor_si256(c2[545],simde_mm256_xor_si256(c2[1825],simde_mm256_xor_si256(c2[1986],simde_mm256_xor_si256(c2[1672],simde_mm256_xor_si256(c2[1592],simde_mm256_xor_si256(c2[234],c2[554]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[20]=simde_mm256_xor_si256(c2[1283],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[1040],simde_mm256_xor_si256(c2[1841],simde_mm256_xor_si256(c2[563],simde_mm256_xor_si256(c2[2250],simde_mm256_xor_si256(c2[2170],simde_mm256_xor_si256(c2[1930],simde_mm256_xor_si256(c2[1131],simde_mm256_xor_si256(c2[729],simde_mm256_xor_si256(c2[1537],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[17],simde_mm256_xor_si256(c2[104],simde_mm256_xor_si256(c2[24],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[1464],simde_mm256_xor_si256(c2[275],simde_mm256_xor_si256(c2[2112],simde_mm256_xor_si256(c2[352],simde_mm256_xor_si256(c2[283],simde_mm256_xor_si256(c2[1162],simde_mm256_xor_si256(c2[202],simde_mm256_xor_si256(c2[369],simde_mm256_xor_si256(c2[289],simde_mm256_xor_si256(c2[690],simde_mm256_xor_si256(c2[1889],simde_mm256_xor_si256(c2[216],simde_mm256_xor_si256(c2[2296],simde_mm256_xor_si256(c2[2536],simde_mm256_xor_si256(c2[546],simde_mm256_xor_si256(c2[1826],simde_mm256_xor_si256(c2[1987],simde_mm256_xor_si256(c2[1673],simde_mm256_xor_si256(c2[1593],simde_mm256_xor_si256(c2[235],c2[555]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[24]=simde_mm256_xor_si256(c2[561],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[322],simde_mm256_xor_si256(c2[1123],simde_mm256_xor_si256(c2[2160],simde_mm256_xor_si256(c2[1528],simde_mm256_xor_si256(c2[1448],simde_mm256_xor_si256(c2[1208],simde_mm256_xor_si256(c2[409],simde_mm256_xor_si256(c2[819],simde_mm256_xor_si256(c2[739],simde_mm256_xor_si256(c2[1858],simde_mm256_xor_si256(c2[1945],simde_mm256_xor_si256(c2[1865],simde_mm256_xor_si256(c2[266],simde_mm256_xor_si256(c2[746],simde_mm256_xor_si256(c2[2112],simde_mm256_xor_si256(c2[1394],simde_mm256_xor_si256(c2[2193],simde_mm256_xor_si256(c2[2120],simde_mm256_xor_si256(c2[440],simde_mm256_xor_si256(c2[363],simde_mm256_xor_si256(c2[2210],simde_mm256_xor_si256(c2[2130],simde_mm256_xor_si256(c2[2531],simde_mm256_xor_si256(c2[1171],simde_mm256_xor_si256(c2[2057],simde_mm256_xor_si256(c2[1578],simde_mm256_xor_si256(c2[1097],simde_mm256_xor_si256(c2[2387],simde_mm256_xor_si256(c2[1104],simde_mm256_xor_si256(c2[1265],simde_mm256_xor_si256(c2[955],simde_mm256_xor_si256(c2[875],simde_mm256_xor_si256(c2[2072],simde_mm256_xor_si256(c2[2392],c2[2312]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[28]=simde_mm256_xor_si256(c2[960],simde_mm256_xor_si256(c2[880],simde_mm256_xor_si256(c2[2243],simde_mm256_xor_si256(c2[721],simde_mm256_xor_si256(c2[2080],simde_mm256_xor_si256(c2[1522],simde_mm256_xor_si256(c2[322],simde_mm256_xor_si256(c2[1931],simde_mm256_xor_si256(c2[1851],simde_mm256_xor_si256(c2[651],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[411],simde_mm256_xor_si256(c2[2251],simde_mm256_xor_si256(c2[808],simde_mm256_xor_si256(c2[2171],simde_mm256_xor_si256(c2[88],simde_mm256_xor_si256(c2[1218],simde_mm256_xor_si256(c2[1138],simde_mm256_xor_si256(c2[2497],simde_mm256_xor_si256(c2[1137],simde_mm256_xor_si256(c2[2257],simde_mm256_xor_si256(c2[1057],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[2264],simde_mm256_xor_si256(c2[1064],simde_mm256_xor_si256(c2[665],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[1145],simde_mm256_xor_si256(c2[2504],simde_mm256_xor_si256(c2[2515],simde_mm256_xor_si256(c2[1315],simde_mm256_xor_si256(c2[1793],simde_mm256_xor_si256(c2[593],simde_mm256_xor_si256(c2[1472],simde_mm256_xor_si256(c2[33],simde_mm256_xor_si256(c2[1392],simde_mm256_xor_si256(c2[2523],simde_mm256_xor_si256(c2[1323],simde_mm256_xor_si256(c2[2282],simde_mm256_xor_si256(c2[843],simde_mm256_xor_si256(c2[2202],simde_mm256_xor_si256(c2[1560],simde_mm256_xor_si256(c2[50],simde_mm256_xor_si256(c2[2529],simde_mm256_xor_si256(c2[1329],simde_mm256_xor_si256(c2[371],simde_mm256_xor_si256(c2[1730],simde_mm256_xor_si256(c2[450],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[370],simde_mm256_xor_si256(c2[2456],simde_mm256_xor_si256(c2[1256],simde_mm256_xor_si256(c2[857],simde_mm256_xor_si256(c2[1977],simde_mm256_xor_si256(c2[777],simde_mm256_xor_si256(c2[1016],simde_mm256_xor_si256(c2[227],simde_mm256_xor_si256(c2[1586],simde_mm256_xor_si256(c2[1507],simde_mm256_xor_si256(c2[307],simde_mm256_xor_si256(c2[544],simde_mm256_xor_si256(c2[1664],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[1354],simde_mm256_xor_si256(c2[1274],simde_mm256_xor_si256(c2[74],simde_mm256_xor_si256(c2[2475],simde_mm256_xor_si256(c2[1275],simde_mm256_xor_si256(c2[1675],simde_mm256_xor_si256(c2[232],c2[1595]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[32]=simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[1123],simde_mm256_xor_si256(c2[1040],simde_mm256_xor_si256(c2[960],simde_mm256_xor_si256(c2[1761],simde_mm256_xor_si256(c2[1120],simde_mm256_xor_si256(c2[2170],simde_mm256_xor_si256(c2[2090],simde_mm256_xor_si256(c2[1850],simde_mm256_xor_si256(c2[1051],simde_mm256_xor_si256(c2[2410],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[1377],simde_mm256_xor_si256(c2[2496],simde_mm256_xor_si256(c2[24],simde_mm256_xor_si256(c2[2507],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[904],simde_mm256_xor_si256(c2[1384],simde_mm256_xor_si256(c2[275],simde_mm256_xor_si256(c2[195],simde_mm256_xor_si256(c2[2032],simde_mm256_xor_si256(c2[272],simde_mm256_xor_si256(c2[283],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[1082],simde_mm256_xor_si256(c2[289],simde_mm256_xor_si256(c2[209],simde_mm256_xor_si256(c2[690],simde_mm256_xor_si256(c2[610],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[216],simde_mm256_xor_si256(c2[136],simde_mm256_xor_si256(c2[2216],simde_mm256_xor_si256(c2[546],simde_mm256_xor_si256(c2[466],simde_mm256_xor_si256(c2[1746],simde_mm256_xor_si256(c2[1907],simde_mm256_xor_si256(c2[1593],simde_mm256_xor_si256(c2[1513],simde_mm256_xor_si256(c2[235],simde_mm256_xor_si256(c2[155],c2[475]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[36]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[402],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[243],simde_mm256_xor_si256(c2[2320],simde_mm256_xor_si256(c2[1040],simde_mm256_xor_si256(c2[562],simde_mm256_xor_si256(c2[971],simde_mm256_xor_si256(c2[1369],simde_mm256_xor_si256(c2[891],simde_mm256_xor_si256(c2[1129],simde_mm256_xor_si256(c2[651],simde_mm256_xor_si256(c2[330],simde_mm256_xor_si256(c2[2411],simde_mm256_xor_si256(c2[890],simde_mm256_xor_si256(c2[258],simde_mm256_xor_si256(c2[656],simde_mm256_xor_si256(c2[178],simde_mm256_xor_si256(c2[1779],simde_mm256_xor_si256(c2[1297],simde_mm256_xor_si256(c2[1384],simde_mm256_xor_si256(c2[1786],simde_mm256_xor_si256(c2[1304],simde_mm256_xor_si256(c2[187],simde_mm256_xor_si256(c2[2264],simde_mm256_xor_si256(c2[667],simde_mm256_xor_si256(c2[185],simde_mm256_xor_si256(c2[2033],simde_mm256_xor_si256(c2[1555],simde_mm256_xor_si256(c2[1315],simde_mm256_xor_si256(c2[833],simde_mm256_xor_si256(c2[2114],simde_mm256_xor_si256(c2[1632],simde_mm256_xor_si256(c2[2041],simde_mm256_xor_si256(c2[1563],simde_mm256_xor_si256(c2[361],simde_mm256_xor_si256(c2[2442],simde_mm256_xor_si256(c2[1649],simde_mm256_xor_si256(c2[2051],simde_mm256_xor_si256(c2[1569],simde_mm256_xor_si256(c2[2448],simde_mm256_xor_si256(c2[1970],simde_mm256_xor_si256(c2[1088],simde_mm256_xor_si256(c2[610],simde_mm256_xor_si256(c2[1978],simde_mm256_xor_si256(c2[1496],simde_mm256_xor_si256(c2[1499],simde_mm256_xor_si256(c2[1017],simde_mm256_xor_si256(c2[2304],simde_mm256_xor_si256(c2[1826],simde_mm256_xor_si256(c2[1025],simde_mm256_xor_si256(c2[547],simde_mm256_xor_si256(c2[1186],simde_mm256_xor_si256(c2[704],simde_mm256_xor_si256(c2[1106],simde_mm256_xor_si256(c2[394],simde_mm256_xor_si256(c2[792],simde_mm256_xor_si256(c2[314],simde_mm256_xor_si256(c2[1993],simde_mm256_xor_si256(c2[1515],simde_mm256_xor_si256(c2[2313],c2[1835])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[40]=simde_mm256_xor_si256(c2[880],simde_mm256_xor_si256(c2[2009],simde_mm256_xor_si256(c2[48],c2[1739])));
|
|
|
|
//row: 11
|
|
d2[44]=simde_mm256_xor_si256(c2[2],simde_mm256_xor_si256(c2[2402],simde_mm256_xor_si256(c2[640],simde_mm256_xor_si256(c2[880],simde_mm256_xor_si256(c2[969],simde_mm256_xor_si256(c2[729],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[2489],simde_mm256_xor_si256(c2[256],simde_mm256_xor_si256(c2[1459],simde_mm256_xor_si256(c2[1379],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[2346],simde_mm256_xor_si256(c2[267],simde_mm256_xor_si256(c2[1633],simde_mm256_xor_si256(c2[915],simde_mm256_xor_si256(c2[1794],simde_mm256_xor_si256(c2[1714],simde_mm256_xor_si256(c2[1641],simde_mm256_xor_si256(c2[41],simde_mm256_xor_si256(c2[2520],simde_mm256_xor_si256(c2[1651],simde_mm256_xor_si256(c2[2048],simde_mm256_xor_si256(c2[768],simde_mm256_xor_si256(c2[688],simde_mm256_xor_si256(c2[1578],simde_mm256_xor_si256(c2[1179],simde_mm256_xor_si256(c2[1099],simde_mm256_xor_si256(c2[1019],simde_mm256_xor_si256(c2[1904],simde_mm256_xor_si256(c2[625],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[786],simde_mm256_xor_si256(c2[392],simde_mm256_xor_si256(c2[1593],simde_mm256_xor_si256(c2[1993],simde_mm256_xor_si256(c2[1913],c2[1514])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[48]=simde_mm256_xor_si256(c2[1840],simde_mm256_xor_si256(c2[1760],simde_mm256_xor_si256(c2[1601],simde_mm256_xor_si256(c2[2402],simde_mm256_xor_si256(c2[248],simde_mm256_xor_si256(c2[168],simde_mm256_xor_si256(c2[2491],simde_mm256_xor_si256(c2[1688],simde_mm256_xor_si256(c2[2489],simde_mm256_xor_si256(c2[2098],simde_mm256_xor_si256(c2[2018],simde_mm256_xor_si256(c2[578],simde_mm256_xor_si256(c2[665],simde_mm256_xor_si256(c2[585],simde_mm256_xor_si256(c2[1545],simde_mm256_xor_si256(c2[2025],simde_mm256_xor_si256(c2[1227],simde_mm256_xor_si256(c2[832],simde_mm256_xor_si256(c2[114],simde_mm256_xor_si256(c2[913],simde_mm256_xor_si256(c2[840],simde_mm256_xor_si256(c2[1723],simde_mm256_xor_si256(c2[930],simde_mm256_xor_si256(c2[850],simde_mm256_xor_si256(c2[1251],simde_mm256_xor_si256(c2[2450],simde_mm256_xor_si256(c2[777],simde_mm256_xor_si256(c2[298],simde_mm256_xor_si256(c2[1107],simde_mm256_xor_si256(c2[2387],simde_mm256_xor_si256(c2[2544],simde_mm256_xor_si256(c2[2234],simde_mm256_xor_si256(c2[2154],simde_mm256_xor_si256(c2[792],c2[1112]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[52]=simde_mm256_xor_si256(c2[483],simde_mm256_xor_si256(c2[320],simde_mm256_xor_si256(c2[1121],simde_mm256_xor_si256(c2[1522],simde_mm256_xor_si256(c2[1450],simde_mm256_xor_si256(c2[1210],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[411],simde_mm256_xor_si256(c2[168],simde_mm256_xor_si256(c2[737],simde_mm256_xor_si256(c2[1936],simde_mm256_xor_si256(c2[1856],simde_mm256_xor_si256(c2[1867],simde_mm256_xor_si256(c2[264],simde_mm256_xor_si256(c2[744],simde_mm256_xor_si256(c2[2114],simde_mm256_xor_si256(c2[1392],simde_mm256_xor_si256(c2[2275],simde_mm256_xor_si256(c2[2195],simde_mm256_xor_si256(c2[2122],simde_mm256_xor_si256(c2[522],simde_mm256_xor_si256(c2[442],simde_mm256_xor_si256(c2[2128],simde_mm256_xor_si256(c2[2529],simde_mm256_xor_si256(c2[1249],simde_mm256_xor_si256(c2[1169],simde_mm256_xor_si256(c2[2059],simde_mm256_xor_si256(c2[1656],simde_mm256_xor_si256(c2[1576],simde_mm256_xor_si256(c2[2385],simde_mm256_xor_si256(c2[1106],simde_mm256_xor_si256(c2[1347],simde_mm256_xor_si256(c2[1267],simde_mm256_xor_si256(c2[545],simde_mm256_xor_si256(c2[873],simde_mm256_xor_si256(c2[2074],simde_mm256_xor_si256(c2[2474],c2[2394])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[56]=simde_mm256_xor_si256(c2[960],simde_mm256_xor_si256(c2[880],simde_mm256_xor_si256(c2[1283],simde_mm256_xor_si256(c2[721],simde_mm256_xor_si256(c2[1120],simde_mm256_xor_si256(c2[1522],simde_mm256_xor_si256(c2[1921],simde_mm256_xor_si256(c2[1931],simde_mm256_xor_si256(c2[1851],simde_mm256_xor_si256(c2[2250],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[2010],simde_mm256_xor_si256(c2[1291],simde_mm256_xor_si256(c2[808],simde_mm256_xor_si256(c2[1211],simde_mm256_xor_si256(c2[1531],simde_mm256_xor_si256(c2[1218],simde_mm256_xor_si256(c2[1138],simde_mm256_xor_si256(c2[1537],simde_mm256_xor_si256(c2[177],simde_mm256_xor_si256(c2[2257],simde_mm256_xor_si256(c2[97],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[2264],simde_mm256_xor_si256(c2[104],simde_mm256_xor_si256(c2[665],simde_mm256_xor_si256(c2[1064],simde_mm256_xor_si256(c2[1145],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[2515],simde_mm256_xor_si256(c2[355],simde_mm256_xor_si256(c2[1793],simde_mm256_xor_si256(c2[2192],simde_mm256_xor_si256(c2[512],simde_mm256_xor_si256(c2[33],simde_mm256_xor_si256(c2[432],simde_mm256_xor_si256(c2[2523],simde_mm256_xor_si256(c2[363],simde_mm256_xor_si256(c2[1322],simde_mm256_xor_si256(c2[843],simde_mm256_xor_si256(c2[1242],simde_mm256_xor_si256(c2[50],simde_mm256_xor_si256(c2[2529],simde_mm256_xor_si256(c2[369],simde_mm256_xor_si256(c2[371],simde_mm256_xor_si256(c2[770],simde_mm256_xor_si256(c2[2049],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[1969],simde_mm256_xor_si256(c2[1408],simde_mm256_xor_si256(c2[2456],simde_mm256_xor_si256(c2[296],simde_mm256_xor_si256(c2[2456],simde_mm256_xor_si256(c2[1977],simde_mm256_xor_si256(c2[2376],simde_mm256_xor_si256(c2[227],simde_mm256_xor_si256(c2[626],simde_mm256_xor_si256(c2[1507],simde_mm256_xor_si256(c2[1906],simde_mm256_xor_si256(c2[2147],simde_mm256_xor_si256(c2[1664],simde_mm256_xor_si256(c2[2067],simde_mm256_xor_si256(c2[1354],simde_mm256_xor_si256(c2[1274],simde_mm256_xor_si256(c2[1673],simde_mm256_xor_si256(c2[2475],simde_mm256_xor_si256(c2[315],simde_mm256_xor_si256(c2[715],simde_mm256_xor_si256(c2[232],c2[635])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[60]=simde_mm256_xor_si256(c2[2402],simde_mm256_xor_si256(c2[1841],simde_mm256_xor_si256(c2[2322],simde_mm256_xor_si256(c2[1682],simde_mm256_xor_si256(c2[2163],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[401],simde_mm256_xor_si256(c2[1521],simde_mm256_xor_si256(c2[810],simde_mm256_xor_si256(c2[249],simde_mm256_xor_si256(c2[730],simde_mm256_xor_si256(c2[9],simde_mm256_xor_si256(c2[490],simde_mm256_xor_si256(c2[1769],simde_mm256_xor_si256(c2[2250],simde_mm256_xor_si256(c2[97],simde_mm256_xor_si256(c2[2099],simde_mm256_xor_si256(c2[17],simde_mm256_xor_si256(c2[659],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[1227],simde_mm256_xor_si256(c2[666],simde_mm256_xor_si256(c2[1147],simde_mm256_xor_si256(c2[1626],simde_mm256_xor_si256(c2[2107],simde_mm256_xor_si256(c2[2106],simde_mm256_xor_si256(c2[24],simde_mm256_xor_si256(c2[913],simde_mm256_xor_si256(c2[1394],simde_mm256_xor_si256(c2[195],simde_mm256_xor_si256(c2[672],simde_mm256_xor_si256(c2[994],simde_mm256_xor_si256(c2[1475],simde_mm256_xor_si256(c2[921],simde_mm256_xor_si256(c2[1402],simde_mm256_xor_si256(c2[1800],simde_mm256_xor_si256(c2[2281],simde_mm256_xor_si256(c2[1488],simde_mm256_xor_si256(c2[931],simde_mm256_xor_si256(c2[1408],simde_mm256_xor_si256(c2[1328],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[2531],simde_mm256_xor_si256(c2[449],simde_mm256_xor_si256(c2[858],simde_mm256_xor_si256(c2[1339],simde_mm256_xor_si256(c2[379],simde_mm256_xor_si256(c2[856],simde_mm256_xor_si256(c2[1184],simde_mm256_xor_si256(c2[1665],simde_mm256_xor_si256(c2[2464],simde_mm256_xor_si256(c2[386],simde_mm256_xor_si256(c2[66],simde_mm256_xor_si256(c2[547],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[2235],simde_mm256_xor_si256(c2[153],simde_mm256_xor_si256(c2[873],simde_mm256_xor_si256(c2[1354],simde_mm256_xor_si256(c2[1193],c2[1674]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[64]=simde_mm256_xor_si256(c2[1360],simde_mm256_xor_si256(c2[2163],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[2083],simde_mm256_xor_si256(c2[2000],simde_mm256_xor_si256(c2[1121],simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[1922],simde_mm256_xor_si256(c2[162],simde_mm256_xor_si256(c2[2331],simde_mm256_xor_si256(c2[571],simde_mm256_xor_si256(c2[2251],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[2011],simde_mm256_xor_si256(c2[251],simde_mm256_xor_si256(c2[1208],simde_mm256_xor_si256(c2[2011],simde_mm256_xor_si256(c2[890],simde_mm256_xor_si256(c2[1618],simde_mm256_xor_si256(c2[2417],simde_mm256_xor_si256(c2[1538],simde_mm256_xor_si256(c2[2337],simde_mm256_xor_si256(c2[98],simde_mm256_xor_si256(c2[897],simde_mm256_xor_si256(c2[185],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[105],simde_mm256_xor_si256(c2[904],simde_mm256_xor_si256(c2[1944],simde_mm256_xor_si256(c2[1065],simde_mm256_xor_si256(c2[1864],simde_mm256_xor_si256(c2[1545],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[1235],simde_mm256_xor_si256(c2[352],simde_mm256_xor_si256(c2[1155],simde_mm256_xor_si256(c2[2193],simde_mm256_xor_si256(c2[433],simde_mm256_xor_si256(c2[433],simde_mm256_xor_si256(c2[1232],simde_mm256_xor_si256(c2[1243],simde_mm256_xor_si256(c2[360],simde_mm256_xor_si256(c2[1163],simde_mm256_xor_si256(c2[1243],simde_mm256_xor_si256(c2[2042],simde_mm256_xor_si256(c2[450],simde_mm256_xor_si256(c2[1249],simde_mm256_xor_si256(c2[370],simde_mm256_xor_si256(c2[1169],simde_mm256_xor_si256(c2[1650],simde_mm256_xor_si256(c2[771],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[1970],simde_mm256_xor_si256(c2[210],simde_mm256_xor_si256(c2[1176],simde_mm256_xor_si256(c2[297],simde_mm256_xor_si256(c2[1096],simde_mm256_xor_si256(c2[2377],simde_mm256_xor_si256(c2[617],simde_mm256_xor_si256(c2[1506],simde_mm256_xor_si256(c2[627],simde_mm256_xor_si256(c2[1426],simde_mm256_xor_si256(c2[1907],simde_mm256_xor_si256(c2[147],simde_mm256_xor_si256(c2[2064],simde_mm256_xor_si256(c2[304],simde_mm256_xor_si256(c2[1754],simde_mm256_xor_si256(c2[2553],simde_mm256_xor_si256(c2[1674],simde_mm256_xor_si256(c2[2473],simde_mm256_xor_si256(c2[1195],simde_mm256_xor_si256(c2[312],simde_mm256_xor_si256(c2[1115],simde_mm256_xor_si256(c2[632],simde_mm256_xor_si256(c2[1435],c2[1192])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[68]=simde_mm256_xor_si256(c2[2163],simde_mm256_xor_si256(c2[722],simde_mm256_xor_si256(c2[2083],simde_mm256_xor_si256(c2[642],simde_mm256_xor_si256(c2[563],simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[483],simde_mm256_xor_si256(c2[162],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[571],simde_mm256_xor_si256(c2[1689],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[1609],simde_mm256_xor_si256(c2[251],simde_mm256_xor_si256(c2[1369],simde_mm256_xor_si256(c2[2011],simde_mm256_xor_si256(c2[570],simde_mm256_xor_si256(c2[2411],simde_mm256_xor_si256(c2[2417],simde_mm256_xor_si256(c2[976],simde_mm256_xor_si256(c2[2337],simde_mm256_xor_si256(c2[896],simde_mm256_xor_si256(c2[897],simde_mm256_xor_si256(c2[2019],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[2106],simde_mm256_xor_si256(c2[904],simde_mm256_xor_si256(c2[2026],simde_mm256_xor_si256(c2[507],simde_mm256_xor_si256(c2[1864],simde_mm256_xor_si256(c2[427],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[907],simde_mm256_xor_si256(c2[2353],simde_mm256_xor_si256(c2[1155],simde_mm256_xor_si256(c2[2273],simde_mm256_xor_si256(c2[433],simde_mm256_xor_si256(c2[1555],simde_mm256_xor_si256(c2[1232],simde_mm256_xor_si256(c2[2354],simde_mm256_xor_si256(c2[2361],simde_mm256_xor_si256(c2[1163],simde_mm256_xor_si256(c2[2281],simde_mm256_xor_si256(c2[2042],simde_mm256_xor_si256(c2[601],simde_mm256_xor_si256(c2[2283],simde_mm256_xor_si256(c2[1249],simde_mm256_xor_si256(c2[2371],simde_mm256_xor_si256(c2[1169],simde_mm256_xor_si256(c2[2291],simde_mm256_xor_si256(c2[209],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[129],simde_mm256_xor_si256(c2[210],simde_mm256_xor_si256(c2[1328],simde_mm256_xor_si256(c2[2298],simde_mm256_xor_si256(c2[1096],simde_mm256_xor_si256(c2[2218],simde_mm256_xor_si256(c2[617],simde_mm256_xor_si256(c2[1739],simde_mm256_xor_si256(c2[65],simde_mm256_xor_si256(c2[1426],simde_mm256_xor_si256(c2[2544],simde_mm256_xor_si256(c2[147],simde_mm256_xor_si256(c2[1265],simde_mm256_xor_si256(c2[304],simde_mm256_xor_si256(c2[1426],simde_mm256_xor_si256(c2[2553],simde_mm256_xor_si256(c2[1112],simde_mm256_xor_si256(c2[2473],simde_mm256_xor_si256(c2[1032],simde_mm256_xor_si256(c2[2313],simde_mm256_xor_si256(c2[1115],simde_mm256_xor_si256(c2[2233],simde_mm256_xor_si256(c2[1435],c2[2553])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[72]=simde_mm256_xor_si256(c2[2242],simde_mm256_xor_si256(c2[210],c2[1497]));
|
|
|
|
//row: 19
|
|
d2[76]=simde_mm256_xor_si256(c2[82],simde_mm256_xor_si256(c2[2482],simde_mm256_xor_si256(c2[720],simde_mm256_xor_si256(c2[1842],simde_mm256_xor_si256(c2[1049],simde_mm256_xor_si256(c2[809],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[1608],simde_mm256_xor_si256(c2[336],simde_mm256_xor_si256(c2[1459],simde_mm256_xor_si256(c2[1466],simde_mm256_xor_si256(c2[2426],simde_mm256_xor_si256(c2[347],simde_mm256_xor_si256(c2[1713],simde_mm256_xor_si256(c2[995],simde_mm256_xor_si256(c2[1794],simde_mm256_xor_si256(c2[1721],simde_mm256_xor_si256(c2[41],simde_mm256_xor_si256(c2[1731],simde_mm256_xor_si256(c2[2128],simde_mm256_xor_si256(c2[768],simde_mm256_xor_si256(c2[1658],simde_mm256_xor_si256(c2[1179],simde_mm256_xor_si256(c2[1984],simde_mm256_xor_si256(c2[705],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[472],simde_mm256_xor_si256(c2[1673],c2[1993]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[80]=simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[401],simde_mm256_xor_si256(c2[242],simde_mm256_xor_si256(c2[1043],simde_mm256_xor_si256(c2[1448],simde_mm256_xor_si256(c2[1368],simde_mm256_xor_si256(c2[1128],simde_mm256_xor_si256(c2[329],simde_mm256_xor_si256(c2[2088],simde_mm256_xor_si256(c2[739],simde_mm256_xor_si256(c2[659],simde_mm256_xor_si256(c2[1778],simde_mm256_xor_si256(c2[1865],simde_mm256_xor_si256(c2[1785],simde_mm256_xor_si256(c2[186],simde_mm256_xor_si256(c2[666],simde_mm256_xor_si256(c2[2032],simde_mm256_xor_si256(c2[1314],simde_mm256_xor_si256(c2[2113],simde_mm256_xor_si256(c2[755],simde_mm256_xor_si256(c2[2040],simde_mm256_xor_si256(c2[360],simde_mm256_xor_si256(c2[2130],simde_mm256_xor_si256(c2[2050],simde_mm256_xor_si256(c2[2451],simde_mm256_xor_si256(c2[1091],simde_mm256_xor_si256(c2[1977],simde_mm256_xor_si256(c2[1498],simde_mm256_xor_si256(c2[2307],simde_mm256_xor_si256(c2[1024],simde_mm256_xor_si256(c2[1185],simde_mm256_xor_si256(c2[875],simde_mm256_xor_si256(c2[795],simde_mm256_xor_si256(c2[1992],c2[2312]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[84]=simde_mm256_xor_si256(c2[2082],simde_mm256_xor_si256(c2[1923],simde_mm256_xor_si256(c2[161],simde_mm256_xor_si256(c2[962],simde_mm256_xor_si256(c2[490],simde_mm256_xor_si256(c2[250],simde_mm256_xor_si256(c2[2090],simde_mm256_xor_si256(c2[2010],simde_mm256_xor_si256(c2[2336],simde_mm256_xor_si256(c2[976],simde_mm256_xor_si256(c2[896],simde_mm256_xor_si256(c2[907],simde_mm256_xor_si256(c2[1867],simde_mm256_xor_si256(c2[2347],simde_mm256_xor_si256(c2[1154],simde_mm256_xor_si256(c2[432],simde_mm256_xor_si256(c2[1315],simde_mm256_xor_si256(c2[1235],simde_mm256_xor_si256(c2[1162],simde_mm256_xor_si256(c2[2121],simde_mm256_xor_si256(c2[2041],simde_mm256_xor_si256(c2[1168],simde_mm256_xor_si256(c2[1569],simde_mm256_xor_si256(c2[289],simde_mm256_xor_si256(c2[209],simde_mm256_xor_si256(c2[1099],simde_mm256_xor_si256(c2[696],simde_mm256_xor_si256(c2[616],simde_mm256_xor_si256(c2[1425],simde_mm256_xor_si256(c2[146],simde_mm256_xor_si256(c2[387],simde_mm256_xor_si256(c2[307],simde_mm256_xor_si256(c2[865],simde_mm256_xor_si256(c2[2472],simde_mm256_xor_si256(c2[1114],simde_mm256_xor_si256(c2[1514],c2[1434]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[88]=simde_mm256_xor_si256(c2[2410],c2[2497]);
|
|
|
|
//row: 23
|
|
d2[92]=simde_mm256_xor_si256(c2[1840],simde_mm256_xor_si256(c2[907],c2[1163]));
|
|
|
|
//row: 24
|
|
d2[96]=simde_mm256_xor_si256(c2[1129],simde_mm256_xor_si256(c2[896],c2[712]));
|
|
|
|
//row: 25
|
|
d2[100]=simde_mm256_xor_si256(c2[323],c2[2280]);
|
|
|
|
//row: 26
|
|
d2[104]=simde_mm256_xor_si256(c2[721],simde_mm256_xor_si256(c2[641],simde_mm256_xor_si256(c2[160],simde_mm256_xor_si256(c2[562],simde_mm256_xor_si256(c2[482],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[1283],simde_mm256_xor_si256(c2[802],simde_mm256_xor_si256(c2[1688],simde_mm256_xor_si256(c2[1608],simde_mm256_xor_si256(c2[1131],simde_mm256_xor_si256(c2[1368],simde_mm256_xor_si256(c2[891],simde_mm256_xor_si256(c2[168],simde_mm256_xor_si256(c2[569],simde_mm256_xor_si256(c2[88],simde_mm256_xor_si256(c2[979],simde_mm256_xor_si256(c2[899],simde_mm256_xor_si256(c2[418],simde_mm256_xor_si256(c2[1617],simde_mm256_xor_si256(c2[2018],simde_mm256_xor_si256(c2[1537],simde_mm256_xor_si256(c2[2336],simde_mm256_xor_si256(c2[2105],simde_mm256_xor_si256(c2[2025],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[506],simde_mm256_xor_si256(c2[426],simde_mm256_xor_si256(c2[2504],simde_mm256_xor_si256(c2[906],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[2352],simde_mm256_xor_si256(c2[2272],simde_mm256_xor_si256(c2[1795],simde_mm256_xor_si256(c2[1554],simde_mm256_xor_si256(c2[1073],simde_mm256_xor_si256(c2[1952],simde_mm256_xor_si256(c2[2353],simde_mm256_xor_si256(c2[1872],simde_mm256_xor_si256(c2[2360],simde_mm256_xor_si256(c2[2280],simde_mm256_xor_si256(c2[1803],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[600],simde_mm256_xor_si256(c2[123],simde_mm256_xor_si256(c2[2370],simde_mm256_xor_si256(c2[2290],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[208],simde_mm256_xor_si256(c2[128],simde_mm256_xor_si256(c2[2210],simde_mm256_xor_si256(c2[930],simde_mm256_xor_si256(c2[1331],simde_mm256_xor_si256(c2[850],simde_mm256_xor_si256(c2[2297],simde_mm256_xor_si256(c2[2217],simde_mm256_xor_si256(c2[1736],simde_mm256_xor_si256(c2[1337],simde_mm256_xor_si256(c2[1738],simde_mm256_xor_si256(c2[1257],simde_mm256_xor_si256(c2[1256],simde_mm256_xor_si256(c2[64],simde_mm256_xor_si256(c2[2547],simde_mm256_xor_si256(c2[2066],simde_mm256_xor_si256(c2[1264],simde_mm256_xor_si256(c2[787],simde_mm256_xor_si256(c2[1024],simde_mm256_xor_si256(c2[1425],simde_mm256_xor_si256(c2[944],simde_mm256_xor_si256(c2[1115],simde_mm256_xor_si256(c2[1035],simde_mm256_xor_si256(c2[554],simde_mm256_xor_si256(c2[2312],simde_mm256_xor_si256(c2[2232],simde_mm256_xor_si256(c2[1755],simde_mm256_xor_si256(c2[2155],simde_mm256_xor_si256(c2[2552],c2[2075])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[108]=simde_mm256_xor_si256(c2[640],c2[1888]);
|
|
|
|
//row: 28
|
|
d2[112]=simde_mm256_xor_si256(c2[171],simde_mm256_xor_si256(c2[419],c2[600]));
|
|
|
|
//row: 29
|
|
d2[116]=simde_mm256_xor_si256(c2[1440],c2[2272]);
|
|
|
|
//row: 30
|
|
d2[120]=simde_mm256_xor_si256(c2[578],simde_mm256_xor_si256(c2[1323],simde_mm256_xor_si256(c2[776],c2[1674])));
|
|
|
|
//row: 31
|
|
d2[124]=simde_mm256_xor_si256(c2[720],simde_mm256_xor_si256(c2[561],simde_mm256_xor_si256(c2[1362],simde_mm256_xor_si256(c2[1691],simde_mm256_xor_si256(c2[1451],simde_mm256_xor_si256(c2[728],simde_mm256_xor_si256(c2[648],simde_mm256_xor_si256(c2[811],simde_mm256_xor_si256(c2[978],simde_mm256_xor_si256(c2[2177],simde_mm256_xor_si256(c2[2097],simde_mm256_xor_si256(c2[2104],simde_mm256_xor_si256(c2[505],simde_mm256_xor_si256(c2[985],simde_mm256_xor_si256(c2[2355],simde_mm256_xor_si256(c2[1633],simde_mm256_xor_si256(c2[2512],simde_mm256_xor_si256(c2[2432],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[763],simde_mm256_xor_si256(c2[683],simde_mm256_xor_si256(c2[2369],simde_mm256_xor_si256(c2[211],simde_mm256_xor_si256(c2[1490],simde_mm256_xor_si256(c2[1410],simde_mm256_xor_si256(c2[2296],simde_mm256_xor_si256(c2[1897],simde_mm256_xor_si256(c2[1817],simde_mm256_xor_si256(c2[67],simde_mm256_xor_si256(c2[1347],simde_mm256_xor_si256(c2[1584],simde_mm256_xor_si256(c2[1504],simde_mm256_xor_si256(c2[1114],simde_mm256_xor_si256(c2[2315],simde_mm256_xor_si256(c2[152],c2[72])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[128]=simde_mm256_xor_si256(c2[1201],simde_mm256_xor_si256(c2[1121],simde_mm256_xor_si256(c2[1042],simde_mm256_xor_si256(c2[962],simde_mm256_xor_si256(c2[1763],simde_mm256_xor_si256(c2[1443],simde_mm256_xor_si256(c2[2168],simde_mm256_xor_si256(c2[2088],simde_mm256_xor_si256(c2[1848],simde_mm256_xor_si256(c2[1049],simde_mm256_xor_si256(c2[1459],simde_mm256_xor_si256(c2[1379],simde_mm256_xor_si256(c2[2498],simde_mm256_xor_si256(c2[26],simde_mm256_xor_si256(c2[2505],simde_mm256_xor_si256(c2[986],simde_mm256_xor_si256(c2[906],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[273],simde_mm256_xor_si256(c2[193],simde_mm256_xor_si256(c2[2034],simde_mm256_xor_si256(c2[274],simde_mm256_xor_si256(c2[281],simde_mm256_xor_si256(c2[201],simde_mm256_xor_si256(c2[1080],simde_mm256_xor_si256(c2[1001],simde_mm256_xor_si256(c2[291],simde_mm256_xor_si256(c2[211],simde_mm256_xor_si256(c2[688],simde_mm256_xor_si256(c2[608],simde_mm256_xor_si256(c2[1811],simde_mm256_xor_si256(c2[218],simde_mm256_xor_si256(c2[138],simde_mm256_xor_si256(c2[2218],simde_mm256_xor_si256(c2[544],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[1744],simde_mm256_xor_si256(c2[1905],simde_mm256_xor_si256(c2[1595],simde_mm256_xor_si256(c2[1515],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[153],c2[473]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[132]=simde_mm256_xor_si256(c2[1523],simde_mm256_xor_si256(c2[1360],simde_mm256_xor_si256(c2[2161],simde_mm256_xor_si256(c2[2490],simde_mm256_xor_si256(c2[2250],simde_mm256_xor_si256(c2[1451],simde_mm256_xor_si256(c2[1777],simde_mm256_xor_si256(c2[337],simde_mm256_xor_si256(c2[336],simde_mm256_xor_si256(c2[344],simde_mm256_xor_si256(c2[1304],simde_mm256_xor_si256(c2[1784],simde_mm256_xor_si256(c2[595],simde_mm256_xor_si256(c2[2432],simde_mm256_xor_si256(c2[672],simde_mm256_xor_si256(c2[603],simde_mm256_xor_si256(c2[1482],simde_mm256_xor_si256(c2[609],simde_mm256_xor_si256(c2[1010],simde_mm256_xor_si256(c2[2209],simde_mm256_xor_si256(c2[536],simde_mm256_xor_si256(c2[57],simde_mm256_xor_si256(c2[377],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[2146],simde_mm256_xor_si256(c2[2307],simde_mm256_xor_si256(c2[1913],simde_mm256_xor_si256(c2[555],c2[875]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[136]=simde_mm256_xor_si256(c2[2402],simde_mm256_xor_si256(c2[2322],simde_mm256_xor_si256(c2[961],simde_mm256_xor_si256(c2[2243],simde_mm256_xor_si256(c2[2163],simde_mm256_xor_si256(c2[802],simde_mm256_xor_si256(c2[401],simde_mm256_xor_si256(c2[1603],simde_mm256_xor_si256(c2[1520],simde_mm256_xor_si256(c2[810],simde_mm256_xor_si256(c2[730],simde_mm256_xor_si256(c2[1928],simde_mm256_xor_si256(c2[490],simde_mm256_xor_si256(c2[1688],simde_mm256_xor_si256(c2[969],simde_mm256_xor_si256(c2[2250],simde_mm256_xor_si256(c2[889],simde_mm256_xor_si256(c2[97],simde_mm256_xor_si256(c2[17],simde_mm256_xor_si256(c2[1219],simde_mm256_xor_si256(c2[2418],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[2338],simde_mm256_xor_si256(c2[1227],simde_mm256_xor_si256(c2[1147],simde_mm256_xor_si256(c2[2345],simde_mm256_xor_si256(c2[2187],simde_mm256_xor_si256(c2[2107],simde_mm256_xor_si256(c2[746],simde_mm256_xor_si256(c2[24],simde_mm256_xor_si256(c2[1226],simde_mm256_xor_si256(c2[1474],simde_mm256_xor_si256(c2[1394],simde_mm256_xor_si256(c2[33],simde_mm256_xor_si256(c2[672],simde_mm256_xor_si256(c2[1874],simde_mm256_xor_si256(c2[194],simde_mm256_xor_si256(c2[1475],simde_mm256_xor_si256(c2[114],simde_mm256_xor_si256(c2[1482],simde_mm256_xor_si256(c2[1402],simde_mm256_xor_si256(c2[41],simde_mm256_xor_si256(c2[1000],simde_mm256_xor_si256(c2[2281],simde_mm256_xor_si256(c2[920],simde_mm256_xor_si256(c2[1488],simde_mm256_xor_si256(c2[1408],simde_mm256_xor_si256(c2[51],simde_mm256_xor_si256(c2[1889],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[448],simde_mm256_xor_si256(c2[1731],simde_mm256_xor_si256(c2[449],simde_mm256_xor_si256(c2[1651],simde_mm256_xor_si256(c2[1419],simde_mm256_xor_si256(c2[1339],simde_mm256_xor_si256(c2[2537],simde_mm256_xor_si256(c2[2138],simde_mm256_xor_si256(c2[856],simde_mm256_xor_si256(c2[2058],simde_mm256_xor_si256(c2[1745],simde_mm256_xor_si256(c2[1665],simde_mm256_xor_si256(c2[304],simde_mm256_xor_si256(c2[386],simde_mm256_xor_si256(c2[1584],simde_mm256_xor_si256(c2[1825],simde_mm256_xor_si256(c2[547],simde_mm256_xor_si256(c2[1745],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[153],simde_mm256_xor_si256(c2[1355],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[1354],simde_mm256_xor_si256(c2[2552],simde_mm256_xor_si256(c2[393],simde_mm256_xor_si256(c2[1674],c2[313]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[140]=simde_mm256_xor_si256(c2[642],simde_mm256_xor_si256(c2[562],simde_mm256_xor_si256(c2[403],simde_mm256_xor_si256(c2[1200],simde_mm256_xor_si256(c2[1609],simde_mm256_xor_si256(c2[1529],simde_mm256_xor_si256(c2[1289],simde_mm256_xor_si256(c2[490],simde_mm256_xor_si256(c2[2009],simde_mm256_xor_si256(c2[896],simde_mm256_xor_si256(c2[816],simde_mm256_xor_si256(c2[1939],simde_mm256_xor_si256(c2[2026],simde_mm256_xor_si256(c2[1946],simde_mm256_xor_si256(c2[347],simde_mm256_xor_si256(c2[827],simde_mm256_xor_si256(c2[2193],simde_mm256_xor_si256(c2[1475],simde_mm256_xor_si256(c2[2274],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[521],simde_mm256_xor_si256(c2[681],simde_mm256_xor_si256(c2[2291],simde_mm256_xor_si256(c2[2211],simde_mm256_xor_si256(c2[49],simde_mm256_xor_si256(c2[1248],simde_mm256_xor_si256(c2[2138],simde_mm256_xor_si256(c2[1659],simde_mm256_xor_si256(c2[2464],simde_mm256_xor_si256(c2[1185],simde_mm256_xor_si256(c2[1346],simde_mm256_xor_si256(c2[1032],simde_mm256_xor_si256(c2[952],simde_mm256_xor_si256(c2[2153],c2[2473]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[144]=simde_mm256_xor_si256(c2[960],simde_mm256_xor_si256(c2[497],c2[2136]));
|
|
|
|
//row: 37
|
|
d2[148]=simde_mm256_xor_si256(c2[243],simde_mm256_xor_si256(c2[2480],simde_mm256_xor_si256(c2[80],simde_mm256_xor_si256(c2[2321],simde_mm256_xor_si256(c2[881],simde_mm256_xor_si256(c2[563],simde_mm256_xor_si256(c2[1210],simde_mm256_xor_si256(c2[888],simde_mm256_xor_si256(c2[970],simde_mm256_xor_si256(c2[648],simde_mm256_xor_si256(c2[2488],simde_mm256_xor_si256(c2[171],simde_mm256_xor_si256(c2[2408],simde_mm256_xor_si256(c2[497],simde_mm256_xor_si256(c2[179],simde_mm256_xor_si256(c2[1378],simde_mm256_xor_si256(c2[1616],simde_mm256_xor_si256(c2[1298],simde_mm256_xor_si256(c2[1627],simde_mm256_xor_si256(c2[1305],simde_mm256_xor_si256(c2[24],simde_mm256_xor_si256(c2[2265],simde_mm256_xor_si256(c2[504],simde_mm256_xor_si256(c2[186],simde_mm256_xor_si256(c2[1874],simde_mm256_xor_si256(c2[1552],simde_mm256_xor_si256(c2[1152],simde_mm256_xor_si256(c2[834],simde_mm256_xor_si256(c2[1713],simde_mm256_xor_si256(c2[1955],simde_mm256_xor_si256(c2[1633],simde_mm256_xor_si256(c2[1882],simde_mm256_xor_si256(c2[1560],simde_mm256_xor_si256(c2[2523],simde_mm256_xor_si256(c2[202],simde_mm256_xor_si256(c2[2443],simde_mm256_xor_si256(c2[1888],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[2289],simde_mm256_xor_si256(c2[1971],simde_mm256_xor_si256(c2[691],simde_mm256_xor_si256(c2[929],simde_mm256_xor_si256(c2[611],simde_mm256_xor_si256(c2[1819],simde_mm256_xor_si256(c2[1497],simde_mm256_xor_si256(c2[1098],simde_mm256_xor_si256(c2[1336],simde_mm256_xor_si256(c2[1018],simde_mm256_xor_si256(c2[2145],simde_mm256_xor_si256(c2[1827],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[544],simde_mm256_xor_si256(c2[785],simde_mm256_xor_si256(c2[1027],simde_mm256_xor_si256(c2[705],simde_mm256_xor_si256(c2[633],simde_mm256_xor_si256(c2[315],simde_mm256_xor_si256(c2[1834],simde_mm256_xor_si256(c2[1512],simde_mm256_xor_si256(c2[1912],simde_mm256_xor_si256(c2[2154],c2[1832])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[152]=simde_mm256_xor_si256(c2[1201],simde_mm256_xor_si256(c2[1121],simde_mm256_xor_si256(c2[962],simde_mm256_xor_si256(c2[1763],simde_mm256_xor_si256(c2[2168],simde_mm256_xor_si256(c2[2088],simde_mm256_xor_si256(c2[1848],simde_mm256_xor_si256(c2[1049],simde_mm256_xor_si256(c2[2488],simde_mm256_xor_si256(c2[1459],simde_mm256_xor_si256(c2[1379],simde_mm256_xor_si256(c2[2498],simde_mm256_xor_si256(c2[26],simde_mm256_xor_si256(c2[2505],simde_mm256_xor_si256(c2[906],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[193],simde_mm256_xor_si256(c2[2034],simde_mm256_xor_si256(c2[274],simde_mm256_xor_si256(c2[201],simde_mm256_xor_si256(c2[1080],simde_mm256_xor_si256(c2[202],simde_mm256_xor_si256(c2[291],simde_mm256_xor_si256(c2[211],simde_mm256_xor_si256(c2[608],simde_mm256_xor_si256(c2[1811],simde_mm256_xor_si256(c2[138],simde_mm256_xor_si256(c2[2218],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[1744],simde_mm256_xor_si256(c2[1905],simde_mm256_xor_si256(c2[1595],simde_mm256_xor_si256(c2[1515],simde_mm256_xor_si256(c2[153],c2[473]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[156]=simde_mm256_xor_si256(c2[881],simde_mm256_xor_si256(c2[801],simde_mm256_xor_si256(c2[722],simde_mm256_xor_si256(c2[642],simde_mm256_xor_si256(c2[1443],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[1848],simde_mm256_xor_si256(c2[1768],simde_mm256_xor_si256(c2[1528],simde_mm256_xor_si256(c2[729],simde_mm256_xor_si256(c2[1139],simde_mm256_xor_si256(c2[1059],simde_mm256_xor_si256(c2[2178],simde_mm256_xor_si256(c2[2265],simde_mm256_xor_si256(c2[2185],simde_mm256_xor_si256(c2[666],simde_mm256_xor_si256(c2[586],simde_mm256_xor_si256(c2[1066],simde_mm256_xor_si256(c2[2512],simde_mm256_xor_si256(c2[2432],simde_mm256_xor_si256(c2[1714],simde_mm256_xor_si256(c2[2513],simde_mm256_xor_si256(c2[2520],simde_mm256_xor_si256(c2[2440],simde_mm256_xor_si256(c2[760],simde_mm256_xor_si256(c2[2530],simde_mm256_xor_si256(c2[2450],simde_mm256_xor_si256(c2[368],simde_mm256_xor_si256(c2[288],simde_mm256_xor_si256(c2[1491],simde_mm256_xor_si256(c2[2457],simde_mm256_xor_si256(c2[2377],simde_mm256_xor_si256(c2[1898],simde_mm256_xor_si256(c2[1017],simde_mm256_xor_si256(c2[224],simde_mm256_xor_si256(c2[144],simde_mm256_xor_si256(c2[1424],simde_mm256_xor_si256(c2[1585],simde_mm256_xor_si256(c2[1275],simde_mm256_xor_si256(c2[1195],simde_mm256_xor_si256(c2[2472],simde_mm256_xor_si256(c2[2392],c2[153]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[160]=simde_mm256_xor_si256(c2[1522],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[1363],simde_mm256_xor_si256(c2[2400],simde_mm256_xor_si256(c2[2160],simde_mm256_xor_si256(c2[642],simde_mm256_xor_si256(c2[2489],simde_mm256_xor_si256(c2[971],simde_mm256_xor_si256(c2[2249],simde_mm256_xor_si256(c2[731],simde_mm256_xor_si256(c2[8],simde_mm256_xor_si256(c2[1450],simde_mm256_xor_si256(c2[2491],simde_mm256_xor_si256(c2[1776],simde_mm256_xor_si256(c2[258],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[336],simde_mm256_xor_si256(c2[1377],simde_mm256_xor_si256(c2[16],simde_mm256_xor_si256(c2[347],simde_mm256_xor_si256(c2[1384],simde_mm256_xor_si256(c2[1307],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[1787],simde_mm256_xor_si256(c2[265],simde_mm256_xor_si256(c2[594],simde_mm256_xor_si256(c2[1635],simde_mm256_xor_si256(c2[2435],simde_mm256_xor_si256(c2[913],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[675],simde_mm256_xor_si256(c2[1712],simde_mm256_xor_si256(c2[602],simde_mm256_xor_si256(c2[1643],simde_mm256_xor_si256(c2[43],simde_mm256_xor_si256(c2[1481],simde_mm256_xor_si256(c2[2522],simde_mm256_xor_si256(c2[608],simde_mm256_xor_si256(c2[1649],simde_mm256_xor_si256(c2[1009],simde_mm256_xor_si256(c2[2050],simde_mm256_xor_si256(c2[770],simde_mm256_xor_si256(c2[2208],simde_mm256_xor_si256(c2[690],simde_mm256_xor_si256(c2[539],simde_mm256_xor_si256(c2[1576],simde_mm256_xor_si256(c2[1177],simde_mm256_xor_si256(c2[56],simde_mm256_xor_si256(c2[1097],simde_mm256_xor_si256(c2[865],simde_mm256_xor_si256(c2[1906],simde_mm256_xor_si256(c2[2145],simde_mm256_xor_si256(c2[627],simde_mm256_xor_si256(c2[864],simde_mm256_xor_si256(c2[2306],simde_mm256_xor_si256(c2[784],simde_mm256_xor_si256(c2[1912],simde_mm256_xor_si256(c2[394],simde_mm256_xor_si256(c2[554],simde_mm256_xor_si256(c2[1595],simde_mm256_xor_si256(c2[1995],simde_mm256_xor_si256(c2[874],c2[1915]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[164]=simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[2240],simde_mm256_xor_si256(c2[482],simde_mm256_xor_si256(c2[891],simde_mm256_xor_si256(c2[811],simde_mm256_xor_si256(c2[571],simde_mm256_xor_si256(c2[2331],simde_mm256_xor_si256(c2[88],simde_mm256_xor_si256(c2[178],simde_mm256_xor_si256(c2[98],simde_mm256_xor_si256(c2[1217],simde_mm256_xor_si256(c2[1304],simde_mm256_xor_si256(c2[1224],simde_mm256_xor_si256(c2[2184],simde_mm256_xor_si256(c2[105],simde_mm256_xor_si256(c2[1475],simde_mm256_xor_si256(c2[753],simde_mm256_xor_si256(c2[1552],simde_mm256_xor_si256(c2[1483],simde_mm256_xor_si256(c2[2362],simde_mm256_xor_si256(c2[443],simde_mm256_xor_si256(c2[1569],simde_mm256_xor_si256(c2[1489],simde_mm256_xor_si256(c2[1890],simde_mm256_xor_si256(c2[530],simde_mm256_xor_si256(c2[1416],simde_mm256_xor_si256(c2[937],simde_mm256_xor_si256(c2[1746],simde_mm256_xor_si256(c2[467],simde_mm256_xor_si256(c2[624],simde_mm256_xor_si256(c2[314],simde_mm256_xor_si256(c2[234],simde_mm256_xor_si256(c2[1435],c2[1755]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|
|
#endif
|