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
142 lines
46 KiB
C
142 lines
46 KiB
C
#ifdef __AVX2__
|
|
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=224, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc224_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<7; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm256_xor_si256(c2[1122],simde_mm256_xor_si256(c2[2941],simde_mm256_xor_si256(c2[3364],simde_mm256_xor_si256(c2[1977],simde_mm256_xor_si256(c2[438],simde_mm256_xor_si256(c2[3519],simde_mm256_xor_si256(c2[3248],simde_mm256_xor_si256(c2[868],simde_mm256_xor_si256(c2[2987],simde_mm256_xor_si256(c2[3966],simde_mm256_xor_si256(c2[2003],simde_mm256_xor_si256(c2[2719],simde_mm256_xor_si256(c2[4401],simde_mm256_xor_si256(c2[617],simde_mm256_xor_si256(c2[3994],simde_mm256_xor_si256(c2[3993],simde_mm256_xor_si256(c2[4426],simde_mm256_xor_si256(c2[2747],simde_mm256_xor_si256(c2[4007],simde_mm256_xor_si256(c2[1224],simde_mm256_xor_si256(c2[2061],simde_mm256_xor_si256(c2[4172],simde_mm256_xor_si256(c2[3894],simde_mm256_xor_si256(c2[4036],simde_mm256_xor_si256(c2[1246],simde_mm256_xor_si256(c2[4466],c2[830]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[7]=simde_mm256_xor_si256(c2[1122],simde_mm256_xor_si256(c2[1262],simde_mm256_xor_si256(c2[3081],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[1977],simde_mm256_xor_si256(c2[2117],simde_mm256_xor_si256(c2[578],simde_mm256_xor_si256(c2[3659],simde_mm256_xor_si256(c2[3248],simde_mm256_xor_si256(c2[3388],simde_mm256_xor_si256(c2[1008],simde_mm256_xor_si256(c2[2987],simde_mm256_xor_si256(c2[3127],simde_mm256_xor_si256(c2[4106],simde_mm256_xor_si256(c2[2143],simde_mm256_xor_si256(c2[2859],simde_mm256_xor_si256(c2[62],simde_mm256_xor_si256(c2[757],simde_mm256_xor_si256(c2[4134],simde_mm256_xor_si256(c2[4133],simde_mm256_xor_si256(c2[4426],simde_mm256_xor_si256(c2[87],simde_mm256_xor_si256(c2[2887],simde_mm256_xor_si256(c2[4147],simde_mm256_xor_si256(c2[1364],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[4312],simde_mm256_xor_si256(c2[4034],simde_mm256_xor_si256(c2[4176],simde_mm256_xor_si256(c2[1246],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[127],c2[970]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[14]=simde_mm256_xor_si256(c2[1122],simde_mm256_xor_si256(c2[1262],simde_mm256_xor_si256(c2[2941],simde_mm256_xor_si256(c2[3081],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[1977],simde_mm256_xor_si256(c2[2117],simde_mm256_xor_si256(c2[578],simde_mm256_xor_si256(c2[3659],simde_mm256_xor_si256(c2[3248],simde_mm256_xor_si256(c2[3388],simde_mm256_xor_si256(c2[1008],simde_mm256_xor_si256(c2[2987],simde_mm256_xor_si256(c2[3127],simde_mm256_xor_si256(c2[3966],simde_mm256_xor_si256(c2[4106],simde_mm256_xor_si256(c2[2143],simde_mm256_xor_si256(c2[2719],simde_mm256_xor_si256(c2[2859],simde_mm256_xor_si256(c2[62],simde_mm256_xor_si256(c2[757],simde_mm256_xor_si256(c2[3994],simde_mm256_xor_si256(c2[4134],simde_mm256_xor_si256(c2[4133],simde_mm256_xor_si256(c2[4426],simde_mm256_xor_si256(c2[87],simde_mm256_xor_si256(c2[2747],simde_mm256_xor_si256(c2[2887],simde_mm256_xor_si256(c2[4147],simde_mm256_xor_si256(c2[1224],simde_mm256_xor_si256(c2[1364],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[4172],simde_mm256_xor_si256(c2[4312],simde_mm256_xor_si256(c2[4034],simde_mm256_xor_si256(c2[4176],simde_mm256_xor_si256(c2[1246],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[4466],simde_mm256_xor_si256(c2[127],c2[970]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[21]=simde_mm256_xor_si256(c2[1262],simde_mm256_xor_si256(c2[3081],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[2117],simde_mm256_xor_si256(c2[578],simde_mm256_xor_si256(c2[3519],simde_mm256_xor_si256(c2[3659],simde_mm256_xor_si256(c2[3388],simde_mm256_xor_si256(c2[868],simde_mm256_xor_si256(c2[1008],simde_mm256_xor_si256(c2[3127],simde_mm256_xor_si256(c2[4106],simde_mm256_xor_si256(c2[2143],simde_mm256_xor_si256(c2[2859],simde_mm256_xor_si256(c2[62],simde_mm256_xor_si256(c2[617],simde_mm256_xor_si256(c2[757],simde_mm256_xor_si256(c2[4134],simde_mm256_xor_si256(c2[3993],simde_mm256_xor_si256(c2[4133],simde_mm256_xor_si256(c2[87],simde_mm256_xor_si256(c2[2887],simde_mm256_xor_si256(c2[4007],simde_mm256_xor_si256(c2[4147],simde_mm256_xor_si256(c2[1364],simde_mm256_xor_si256(c2[2061],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[4312],simde_mm256_xor_si256(c2[4034],simde_mm256_xor_si256(c2[4036],simde_mm256_xor_si256(c2[4176],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[127],simde_mm256_xor_si256(c2[830],c2[970]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[28]=simde_mm256_xor_si256(c2[1825],simde_mm256_xor_si256(c2[1965],simde_mm256_xor_si256(c2[3784],simde_mm256_xor_si256(c2[4200],simde_mm256_xor_si256(c2[1126],simde_mm256_xor_si256(c2[2680],simde_mm256_xor_si256(c2[2820],simde_mm256_xor_si256(c2[1274],simde_mm256_xor_si256(c2[4355],simde_mm256_xor_si256(c2[2254],simde_mm256_xor_si256(c2[3951],simde_mm256_xor_si256(c2[4091],simde_mm256_xor_si256(c2[1711],simde_mm256_xor_si256(c2[3683],simde_mm256_xor_si256(c2[3823],simde_mm256_xor_si256(c2[323],simde_mm256_xor_si256(c2[2846],simde_mm256_xor_si256(c2[3562],simde_mm256_xor_si256(c2[758],simde_mm256_xor_si256(c2[1460],simde_mm256_xor_si256(c2[351],simde_mm256_xor_si256(c2[350],simde_mm256_xor_si256(c2[650],simde_mm256_xor_si256(c2[790],simde_mm256_xor_si256(c2[3590],simde_mm256_xor_si256(c2[364],simde_mm256_xor_si256(c2[2060],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[536],simde_mm256_xor_si256(c2[258],simde_mm256_xor_si256(c2[393],simde_mm256_xor_si256(c2[1949],simde_mm256_xor_si256(c2[2089],simde_mm256_xor_si256(c2[830],c2[1666]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[35]=simde_mm256_xor_si256(c2[1261],simde_mm256_xor_si256(c2[1401],simde_mm256_xor_si256(c2[3220],simde_mm256_xor_si256(c2[3643],simde_mm256_xor_si256(c2[3505],simde_mm256_xor_si256(c2[2116],simde_mm256_xor_si256(c2[2256],simde_mm256_xor_si256(c2[717],simde_mm256_xor_si256(c2[3798],simde_mm256_xor_si256(c2[1418],simde_mm256_xor_si256(c2[3394],simde_mm256_xor_si256(c2[3534],simde_mm256_xor_si256(c2[1154],simde_mm256_xor_si256(c2[3126],simde_mm256_xor_si256(c2[3266],simde_mm256_xor_si256(c2[4245],simde_mm256_xor_si256(c2[2282],simde_mm256_xor_si256(c2[2998],simde_mm256_xor_si256(c2[201],simde_mm256_xor_si256(c2[896],simde_mm256_xor_si256(c2[4273],simde_mm256_xor_si256(c2[4272],simde_mm256_xor_si256(c2[1475],simde_mm256_xor_si256(c2[86],simde_mm256_xor_si256(c2[226],simde_mm256_xor_si256(c2[3026],simde_mm256_xor_si256(c2[4286],simde_mm256_xor_si256(c2[1503],simde_mm256_xor_si256(c2[2340],simde_mm256_xor_si256(c2[3884],simde_mm256_xor_si256(c2[4458],simde_mm256_xor_si256(c2[4173],simde_mm256_xor_si256(c2[4315],simde_mm256_xor_si256(c2[1392],simde_mm256_xor_si256(c2[1532],simde_mm256_xor_si256(c2[266],c2[1109]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[42]=simde_mm256_xor_si256(c2[3501],simde_mm256_xor_si256(c2[3641],simde_mm256_xor_si256(c2[981],simde_mm256_xor_si256(c2[1404],simde_mm256_xor_si256(c2[3783],simde_mm256_xor_si256(c2[4356],simde_mm256_xor_si256(c2[17],simde_mm256_xor_si256(c2[2957],simde_mm256_xor_si256(c2[1559],simde_mm256_xor_si256(c2[1148],simde_mm256_xor_si256(c2[1288],simde_mm256_xor_si256(c2[3394],simde_mm256_xor_si256(c2[887],simde_mm256_xor_si256(c2[1027],simde_mm256_xor_si256(c2[2006],simde_mm256_xor_si256(c2[43],simde_mm256_xor_si256(c2[759],simde_mm256_xor_si256(c2[2441],simde_mm256_xor_si256(c2[3136],simde_mm256_xor_si256(c2[2034],simde_mm256_xor_si256(c2[2033],simde_mm256_xor_si256(c2[3291],simde_mm256_xor_si256(c2[2326],simde_mm256_xor_si256(c2[2466],simde_mm256_xor_si256(c2[787],simde_mm256_xor_si256(c2[2047],simde_mm256_xor_si256(c2[3743],simde_mm256_xor_si256(c2[101],simde_mm256_xor_si256(c2[4438],simde_mm256_xor_si256(c2[2212],simde_mm256_xor_si256(c2[1934],simde_mm256_xor_si256(c2[2076],simde_mm256_xor_si256(c2[3632],simde_mm256_xor_si256(c2[3772],simde_mm256_xor_si256(c2[2506],simde_mm256_xor_si256(c2[3349],c2[4332]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[49]=simde_mm256_xor_si256(c2[4206],simde_mm256_xor_si256(c2[4346],simde_mm256_xor_si256(c2[4200],simde_mm256_xor_si256(c2[1686],simde_mm256_xor_si256(c2[1540],simde_mm256_xor_si256(c2[2102],simde_mm256_xor_si256(c2[1963],simde_mm256_xor_si256(c2[575],simde_mm256_xor_si256(c2[715],simde_mm256_xor_si256(c2[576],simde_mm256_xor_si256(c2[3655],simde_mm256_xor_si256(c2[3516],simde_mm256_xor_si256(c2[2257],simde_mm256_xor_si256(c2[1978],simde_mm256_xor_si256(c2[2118],simde_mm256_xor_si256(c2[997],simde_mm256_xor_si256(c2[1853],simde_mm256_xor_si256(c2[1993],simde_mm256_xor_si256(c2[1854],simde_mm256_xor_si256(c2[4092],simde_mm256_xor_si256(c2[3813],simde_mm256_xor_si256(c2[3953],simde_mm256_xor_si256(c2[1585],simde_mm256_xor_si256(c2[1725],simde_mm256_xor_si256(c2[1586],simde_mm256_xor_si256(c2[2704],simde_mm256_xor_si256(c2[2565],simde_mm256_xor_si256(c2[748],simde_mm256_xor_si256(c2[602],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[1318],simde_mm256_xor_si256(c2[3139],simde_mm256_xor_si256(c2[3000],simde_mm256_xor_si256(c2[3841],simde_mm256_xor_si256(c2[3562],simde_mm256_xor_si256(c2[3702],simde_mm256_xor_si256(c2[2732],simde_mm256_xor_si256(c2[2593],simde_mm256_xor_si256(c2[2731],simde_mm256_xor_si256(c2[2452],simde_mm256_xor_si256(c2[2592],simde_mm256_xor_si256(c2[1890],simde_mm256_xor_si256(c2[3024],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[3025],simde_mm256_xor_si256(c2[1485],simde_mm256_xor_si256(c2[1346],simde_mm256_xor_si256(c2[2745],simde_mm256_xor_si256(c2[2466],simde_mm256_xor_si256(c2[2606],simde_mm256_xor_si256(c2[4441],simde_mm256_xor_si256(c2[4302],simde_mm256_xor_si256(c2[799],simde_mm256_xor_si256(c2[520],simde_mm256_xor_si256(c2[660],simde_mm256_xor_si256(c2[1361],simde_mm256_xor_si256(c2[2917],simde_mm256_xor_si256(c2[2778],simde_mm256_xor_si256(c2[2632],simde_mm256_xor_si256(c2[2493],simde_mm256_xor_si256(c2[2774],simde_mm256_xor_si256(c2[2495],simde_mm256_xor_si256(c2[2635],simde_mm256_xor_si256(c2[4330],simde_mm256_xor_si256(c2[4470],simde_mm256_xor_si256(c2[4331],simde_mm256_xor_si256(c2[3211],simde_mm256_xor_si256(c2[3072],simde_mm256_xor_si256(c2[4047],simde_mm256_xor_si256(c2[3768],c2[3908]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[56]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[140],simde_mm256_xor_si256(c2[1826],simde_mm256_xor_si256(c2[1966],simde_mm256_xor_si256(c2[2382],simde_mm256_xor_si256(c2[2664],simde_mm256_xor_si256(c2[855],simde_mm256_xor_si256(c2[995],simde_mm256_xor_si256(c2[3935],simde_mm256_xor_si256(c2[2537],simde_mm256_xor_si256(c2[1555],simde_mm256_xor_si256(c2[2133],simde_mm256_xor_si256(c2[2273],simde_mm256_xor_si256(c2[4372],simde_mm256_xor_si256(c2[1865],simde_mm256_xor_si256(c2[2005],simde_mm256_xor_si256(c2[2844],simde_mm256_xor_si256(c2[2984],simde_mm256_xor_si256(c2[1028],simde_mm256_xor_si256(c2[1597],simde_mm256_xor_si256(c2[1737],simde_mm256_xor_si256(c2[3419],simde_mm256_xor_si256(c2[4121],simde_mm256_xor_si256(c2[2872],simde_mm256_xor_si256(c2[3012],simde_mm256_xor_si256(c2[3011],simde_mm256_xor_si256(c2[3304],simde_mm256_xor_si256(c2[3444],simde_mm256_xor_si256(c2[1625],simde_mm256_xor_si256(c2[1765],simde_mm256_xor_si256(c2[3025],simde_mm256_xor_si256(c2[102],simde_mm256_xor_si256(c2[242],simde_mm256_xor_si256(c2[1079],simde_mm256_xor_si256(c2[3057],simde_mm256_xor_si256(c2[3197],simde_mm256_xor_si256(c2[2912],simde_mm256_xor_si256(c2[3054],simde_mm256_xor_si256(c2[131],simde_mm256_xor_si256(c2[271],simde_mm256_xor_si256(c2[3351],simde_mm256_xor_si256(c2[3491],c2[4327]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[63]=simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[3784],simde_mm256_xor_si256(c2[3924],simde_mm256_xor_si256(c2[1820],simde_mm256_xor_si256(c2[1264],simde_mm256_xor_si256(c2[2243],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[856],simde_mm256_xor_si256(c2[160],simde_mm256_xor_si256(c2[300],simde_mm256_xor_si256(c2[3796],simde_mm256_xor_si256(c2[3240],simde_mm256_xor_si256(c2[2398],simde_mm256_xor_si256(c2[1835],simde_mm256_xor_si256(c2[294],simde_mm256_xor_si256(c2[2134],simde_mm256_xor_si256(c2[1431],simde_mm256_xor_si256(c2[1571],simde_mm256_xor_si256(c2[4233],simde_mm256_xor_si256(c2[3670],simde_mm256_xor_si256(c2[1866],simde_mm256_xor_si256(c2[1163],simde_mm256_xor_si256(c2[1303],simde_mm256_xor_si256(c2[2845],simde_mm256_xor_si256(c2[2282],simde_mm256_xor_si256(c2[882],simde_mm256_xor_si256(c2[326],simde_mm256_xor_si256(c2[1598],simde_mm256_xor_si256(c2[1042],simde_mm256_xor_si256(c2[3280],simde_mm256_xor_si256(c2[2717],simde_mm256_xor_si256(c2[3982],simde_mm256_xor_si256(c2[3419],simde_mm256_xor_si256(c2[2873],simde_mm256_xor_si256(c2[2310],simde_mm256_xor_si256(c2[2872],simde_mm256_xor_si256(c2[2316],simde_mm256_xor_si256(c2[3305],simde_mm256_xor_si256(c2[2609],simde_mm256_xor_si256(c2[2749],simde_mm256_xor_si256(c2[1626],simde_mm256_xor_si256(c2[1070],simde_mm256_xor_si256(c2[2886],simde_mm256_xor_si256(c2[2330],simde_mm256_xor_si256(c2[103],simde_mm256_xor_si256(c2[4019],simde_mm256_xor_si256(c2[940],simde_mm256_xor_si256(c2[384],simde_mm256_xor_si256(c2[3058],simde_mm256_xor_si256(c2[2495],simde_mm256_xor_si256(c2[2773],simde_mm256_xor_si256(c2[2217],simde_mm256_xor_si256(c2[2915],simde_mm256_xor_si256(c2[2352],simde_mm256_xor_si256(c2[4312],simde_mm256_xor_si256(c2[132],simde_mm256_xor_si256(c2[3908],simde_mm256_xor_si256(c2[4048],simde_mm256_xor_si256(c2[3352],simde_mm256_xor_si256(c2[2789],simde_mm256_xor_si256(c2[4188],c2[3632])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[70]=simde_mm256_xor_si256(c2[1965],simde_mm256_xor_si256(c2[3098],simde_mm256_xor_si256(c2[1204],c2[3459])));
|
|
|
|
//row: 11
|
|
d2[77]=simde_mm256_xor_si256(c2[1685],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[3920],simde_mm256_xor_si256(c2[423],simde_mm256_xor_si256(c2[2540],simde_mm256_xor_si256(c2[994],simde_mm256_xor_si256(c2[3935],simde_mm256_xor_si256(c2[4075],simde_mm256_xor_si256(c2[3811],simde_mm256_xor_si256(c2[1291],simde_mm256_xor_si256(c2[1431],simde_mm256_xor_si256(c2[3543],simde_mm256_xor_si256(c2[43],simde_mm256_xor_si256(c2[2566],simde_mm256_xor_si256(c2[3282],simde_mm256_xor_si256(c2[478],simde_mm256_xor_si256(c2[1040],simde_mm256_xor_si256(c2[1180],simde_mm256_xor_si256(c2[71],simde_mm256_xor_si256(c2[4416],simde_mm256_xor_si256(c2[70],simde_mm256_xor_si256(c2[510],simde_mm256_xor_si256(c2[3310],simde_mm256_xor_si256(c2[4430],simde_mm256_xor_si256(c2[84],simde_mm256_xor_si256(c2[1780],simde_mm256_xor_si256(c2[2484],simde_mm256_xor_si256(c2[2624],simde_mm256_xor_si256(c2[1502],simde_mm256_xor_si256(c2[256],simde_mm256_xor_si256(c2[4457],simde_mm256_xor_si256(c2[4452],simde_mm256_xor_si256(c2[113],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[550],simde_mm256_xor_si256(c2[1246],simde_mm256_xor_si256(c2[1386],c2[2089])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[84]=simde_mm256_xor_si256(c2[2945],simde_mm256_xor_si256(c2[3085],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[841],simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[3940],simde_mm256_xor_si256(c2[2394],simde_mm256_xor_si256(c2[996],simde_mm256_xor_si256(c2[1975],simde_mm256_xor_si256(c2[592],simde_mm256_xor_si256(c2[732],simde_mm256_xor_si256(c2[2831],simde_mm256_xor_si256(c2[324],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[1443],simde_mm256_xor_si256(c2[3966],simde_mm256_xor_si256(c2[3548],simde_mm256_xor_si256(c2[196],simde_mm256_xor_si256(c2[1878],simde_mm256_xor_si256(c2[2580],simde_mm256_xor_si256(c2[1471],simde_mm256_xor_si256(c2[1470],simde_mm256_xor_si256(c2[1770],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[224],simde_mm256_xor_si256(c2[1484],simde_mm256_xor_si256(c2[3180],simde_mm256_xor_si256(c2[4024],simde_mm256_xor_si256(c2[1656],simde_mm256_xor_si256(c2[1378],simde_mm256_xor_si256(c2[1513],simde_mm256_xor_si256(c2[3069],simde_mm256_xor_si256(c2[3209],simde_mm256_xor_si256(c2[1950],c2[2786]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[91]=simde_mm256_xor_si256(c2[2946],simde_mm256_xor_si256(c2[286],simde_mm256_xor_si256(c2[702],simde_mm256_xor_si256(c2[701],simde_mm256_xor_si256(c2[3794],simde_mm256_xor_si256(c2[2255],simde_mm256_xor_si256(c2[717],simde_mm256_xor_si256(c2[857],simde_mm256_xor_si256(c2[2397],simde_mm256_xor_si256(c2[593],simde_mm256_xor_si256(c2[2552],simde_mm256_xor_si256(c2[2692],simde_mm256_xor_si256(c2[325],simde_mm256_xor_si256(c2[1304],simde_mm256_xor_si256(c2[3827],simde_mm256_xor_si256(c2[57],simde_mm256_xor_si256(c2[1739],simde_mm256_xor_si256(c2[2301],simde_mm256_xor_si256(c2[2441],simde_mm256_xor_si256(c2[1332],simde_mm256_xor_si256(c2[1191],simde_mm256_xor_si256(c2[1331],simde_mm256_xor_si256(c2[1764],simde_mm256_xor_si256(c2[85],simde_mm256_xor_si256(c2[1205],simde_mm256_xor_si256(c2[1345],simde_mm256_xor_si256(c2[3041],simde_mm256_xor_si256(c2[3738],simde_mm256_xor_si256(c2[3878],simde_mm256_xor_si256(c2[1517],simde_mm256_xor_si256(c2[1232],simde_mm256_xor_si256(c2[1234],simde_mm256_xor_si256(c2[1374],simde_mm256_xor_si256(c2[2216],simde_mm256_xor_si256(c2[3070],simde_mm256_xor_si256(c2[1811],simde_mm256_xor_si256(c2[2507],c2[2647])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[98]=simde_mm256_xor_si256(c2[2243],simde_mm256_xor_si256(c2[2383],simde_mm256_xor_si256(c2[4065],simde_mm256_xor_si256(c2[4202],simde_mm256_xor_si256(c2[1405],simde_mm256_xor_si256(c2[146],simde_mm256_xor_si256(c2[1821],simde_mm256_xor_si256(c2[3098],simde_mm256_xor_si256(c2[3238],simde_mm256_xor_si256(c2[434],simde_mm256_xor_si256(c2[1699],simde_mm256_xor_si256(c2[3374],simde_mm256_xor_si256(c2[294],simde_mm256_xor_si256(c2[1836],simde_mm256_xor_si256(c2[1976],simde_mm256_xor_si256(c2[575],simde_mm256_xor_si256(c2[4369],simde_mm256_xor_si256(c2[30],simde_mm256_xor_si256(c2[1712],simde_mm256_xor_si256(c2[2129],simde_mm256_xor_si256(c2[3671],simde_mm256_xor_si256(c2[3811],simde_mm256_xor_si256(c2[4108],simde_mm256_xor_si256(c2[4248],simde_mm256_xor_si256(c2[1444],simde_mm256_xor_si256(c2[748],simde_mm256_xor_si256(c2[2423],simde_mm256_xor_si256(c2[3264],simde_mm256_xor_si256(c2[467],simde_mm256_xor_si256(c2[3980],simde_mm256_xor_si256(c2[1176],simde_mm256_xor_si256(c2[1176],simde_mm256_xor_si256(c2[2858],simde_mm256_xor_si256(c2[1878],simde_mm256_xor_si256(c2[3420],simde_mm256_xor_si256(c2[3560],simde_mm256_xor_si256(c2[776],simde_mm256_xor_si256(c2[2451],simde_mm256_xor_si256(c2[775],simde_mm256_xor_si256(c2[2310],simde_mm256_xor_si256(c2[2450],simde_mm256_xor_si256(c2[1068],simde_mm256_xor_si256(c2[1208],simde_mm256_xor_si256(c2[2890],simde_mm256_xor_si256(c2[4008],simde_mm256_xor_si256(c2[1204],simde_mm256_xor_si256(c2[789],simde_mm256_xor_si256(c2[2324],simde_mm256_xor_si256(c2[2464],simde_mm256_xor_si256(c2[4426],simde_mm256_xor_si256(c2[2478],simde_mm256_xor_si256(c2[4160],simde_mm256_xor_si256(c2[3322],simde_mm256_xor_si256(c2[378],simde_mm256_xor_si256(c2[518],simde_mm256_xor_si256(c2[954],simde_mm256_xor_si256(c2[2636],simde_mm256_xor_si256(c2[676],simde_mm256_xor_si256(c2[2358],simde_mm256_xor_si256(c2[818],simde_mm256_xor_si256(c2[2353],simde_mm256_xor_si256(c2[2493],simde_mm256_xor_si256(c2[2367],simde_mm256_xor_si256(c2[2507],simde_mm256_xor_si256(c2[4189],simde_mm256_xor_si256(c2[1248],simde_mm256_xor_si256(c2[2930],simde_mm256_xor_si256(c2[2091],simde_mm256_xor_si256(c2[3626],c2[3766])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[105]=simde_mm256_xor_si256(c2[2241],simde_mm256_xor_si256(c2[3085],simde_mm256_xor_si256(c2[3225],simde_mm256_xor_si256(c2[4060],simde_mm256_xor_si256(c2[565],simde_mm256_xor_si256(c2[4],simde_mm256_xor_si256(c2[981],simde_mm256_xor_si256(c2[2803],simde_mm256_xor_si256(c2[3096],simde_mm256_xor_si256(c2[3940],simde_mm256_xor_si256(c2[4080],simde_mm256_xor_si256(c2[1557],simde_mm256_xor_si256(c2[2534],simde_mm256_xor_si256(c2[159],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[4374],simde_mm256_xor_si256(c2[732],simde_mm256_xor_si256(c2[872],simde_mm256_xor_si256(c2[1994],simde_mm256_xor_si256(c2[2971],simde_mm256_xor_si256(c2[4106],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[604],simde_mm256_xor_si256(c2[606],simde_mm256_xor_si256(c2[1583],simde_mm256_xor_si256(c2[3122],simde_mm256_xor_si256(c2[4106],simde_mm256_xor_si256(c2[3838],simde_mm256_xor_si256(c2[336],simde_mm256_xor_si256(c2[1041],simde_mm256_xor_si256(c2[2018],simde_mm256_xor_si256(c2[1736],simde_mm256_xor_si256(c2[2720],simde_mm256_xor_si256(c2[634],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[633],simde_mm256_xor_si256(c2[1610],simde_mm256_xor_si256(c2[1066],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[2050],simde_mm256_xor_si256(c2[3866],simde_mm256_xor_si256(c2[364],simde_mm256_xor_si256(c2[647],simde_mm256_xor_si256(c2[1624],simde_mm256_xor_si256(c2[2343],simde_mm256_xor_si256(c2[3320],simde_mm256_xor_si256(c2[3180],simde_mm256_xor_si256(c2[4164],simde_mm256_xor_si256(c2[812],simde_mm256_xor_si256(c2[1796],simde_mm256_xor_si256(c2[534],simde_mm256_xor_si256(c2[1518],simde_mm256_xor_si256(c2[676],simde_mm256_xor_si256(c2[1653],simde_mm256_xor_si256(c2[2372],simde_mm256_xor_si256(c2[3209],simde_mm256_xor_si256(c2[3349],simde_mm256_xor_si256(c2[1106],simde_mm256_xor_si256(c2[2090],simde_mm256_xor_si256(c2[1949],c2[2926]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[112]=simde_mm256_xor_si256(c2[1966],simde_mm256_xor_si256(c2[2106],simde_mm256_xor_si256(c2[1265],simde_mm256_xor_si256(c2[1405],simde_mm256_xor_si256(c2[3925],simde_mm256_xor_si256(c2[3084],simde_mm256_xor_si256(c2[3224],simde_mm256_xor_si256(c2[4341],simde_mm256_xor_si256(c2[3640],simde_mm256_xor_si256(c2[2814],simde_mm256_xor_si256(c2[2954],simde_mm256_xor_si256(c2[2120],simde_mm256_xor_si256(c2[2260],simde_mm256_xor_si256(c2[1415],simde_mm256_xor_si256(c2[714],simde_mm256_xor_si256(c2[17],simde_mm256_xor_si256(c2[3795],simde_mm256_xor_si256(c2[1556],simde_mm256_xor_si256(c2[4092],simde_mm256_xor_si256(c2[4232],simde_mm256_xor_si256(c2[3391],simde_mm256_xor_si256(c2[3531],simde_mm256_xor_si256(c2[1852],simde_mm256_xor_si256(c2[1151],simde_mm256_xor_si256(c2[3824],simde_mm256_xor_si256(c2[3964],simde_mm256_xor_si256(c2[3123],simde_mm256_xor_si256(c2[3263],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[4102],simde_mm256_xor_si256(c2[4242],simde_mm256_xor_si256(c2[2987],simde_mm256_xor_si256(c2[2286],simde_mm256_xor_si256(c2[3696],simde_mm256_xor_si256(c2[2862],simde_mm256_xor_si256(c2[3002],simde_mm256_xor_si256(c2[899],simde_mm256_xor_si256(c2[198],simde_mm256_xor_si256(c2[1601],simde_mm256_xor_si256(c2[900],simde_mm256_xor_si256(c2[492],simde_mm256_xor_si256(c2[4130],simde_mm256_xor_si256(c2[4270],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[4276],simde_mm256_xor_si256(c2[784],simde_mm256_xor_si256(c2[924],simde_mm256_xor_si256(c2[90],simde_mm256_xor_si256(c2[230],simde_mm256_xor_si256(c2[3724],simde_mm256_xor_si256(c2[2890],simde_mm256_xor_si256(c2[3030],simde_mm256_xor_si256(c2[505],simde_mm256_xor_si256(c2[4290],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[1360],simde_mm256_xor_si256(c2[1500],simde_mm256_xor_si256(c2[3038],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[677],simde_mm256_xor_si256(c2[4315],simde_mm256_xor_si256(c2[4455],simde_mm256_xor_si256(c2[392],simde_mm256_xor_si256(c2[4177],simde_mm256_xor_si256(c2[534],simde_mm256_xor_si256(c2[4312],simde_mm256_xor_si256(c2[2090],simde_mm256_xor_si256(c2[2230],simde_mm256_xor_si256(c2[1389],simde_mm256_xor_si256(c2[1529],simde_mm256_xor_si256(c2[971],simde_mm256_xor_si256(c2[130],simde_mm256_xor_si256(c2[270],simde_mm256_xor_si256(c2[1807],simde_mm256_xor_si256(c2[1106],c2[4330])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[119]=simde_mm256_xor_si256(c2[3081],simde_mm256_xor_si256(c2[3221],simde_mm256_xor_si256(c2[1402],simde_mm256_xor_si256(c2[1542],simde_mm256_xor_si256(c2[561],simde_mm256_xor_si256(c2[3221],simde_mm256_xor_si256(c2[3361],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[3784],simde_mm256_xor_si256(c2[3936],simde_mm256_xor_si256(c2[4076],simde_mm256_xor_si256(c2[2257],simde_mm256_xor_si256(c2[2397],simde_mm256_xor_si256(c2[2537],simde_mm256_xor_si256(c2[858],simde_mm256_xor_si256(c2[1139],simde_mm256_xor_si256(c2[3939],simde_mm256_xor_si256(c2[2255],simde_mm256_xor_si256(c2[728],simde_mm256_xor_si256(c2[868],simde_mm256_xor_si256(c2[3528],simde_mm256_xor_si256(c2[3668],simde_mm256_xor_si256(c2[2974],simde_mm256_xor_si256(c2[1288],simde_mm256_xor_si256(c2[467],simde_mm256_xor_si256(c2[607],simde_mm256_xor_si256(c2[3267],simde_mm256_xor_si256(c2[3407],simde_mm256_xor_si256(c2[1586],simde_mm256_xor_si256(c2[4246],simde_mm256_xor_si256(c2[4386],simde_mm256_xor_si256(c2[4102],simde_mm256_xor_si256(c2[2423],simde_mm256_xor_si256(c2[339],simde_mm256_xor_si256(c2[2999],simde_mm256_xor_si256(c2[3139],simde_mm256_xor_si256(c2[2021],simde_mm256_xor_si256(c2[342],simde_mm256_xor_si256(c2[2716],simde_mm256_xor_si256(c2[1037],simde_mm256_xor_si256(c2[1614],simde_mm256_xor_si256(c2[4274],simde_mm256_xor_si256(c2[4414],simde_mm256_xor_si256(c2[1613],simde_mm256_xor_si256(c2[4413],simde_mm256_xor_si256(c2[634],simde_mm256_xor_si256(c2[1906],simde_mm256_xor_si256(c2[2046],simde_mm256_xor_si256(c2[227],simde_mm256_xor_si256(c2[367],simde_mm256_xor_si256(c2[367],simde_mm256_xor_si256(c2[3027],simde_mm256_xor_si256(c2[3167],simde_mm256_xor_si256(c2[1627],simde_mm256_xor_si256(c2[4427],simde_mm256_xor_si256(c2[3323],simde_mm256_xor_si256(c2[1504],simde_mm256_xor_si256(c2[1644],simde_mm256_xor_si256(c2[4160],simde_mm256_xor_si256(c2[2481],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[4452],simde_mm256_xor_si256(c2[113],simde_mm256_xor_si256(c2[1514],simde_mm256_xor_si256(c2[4314],simde_mm256_xor_si256(c2[1656],simde_mm256_xor_si256(c2[4456],simde_mm256_xor_si256(c2[3212],simde_mm256_xor_si256(c2[3352],simde_mm256_xor_si256(c2[1526],simde_mm256_xor_si256(c2[1666],simde_mm256_xor_si256(c2[2086],simde_mm256_xor_si256(c2[267],simde_mm256_xor_si256(c2[407],simde_mm256_xor_si256(c2[2929],c2[1250])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[126]=simde_mm256_xor_si256(c2[562],simde_mm256_xor_si256(c2[2324],c2[4022]));
|
|
|
|
//row: 19
|
|
d2[133]=simde_mm256_xor_si256(c2[4204],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[1960],simde_mm256_xor_si256(c2[421],simde_mm256_xor_si256(c2[580],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[2115],simde_mm256_xor_si256(c2[1418],simde_mm256_xor_si256(c2[1851],simde_mm256_xor_si256(c2[3950],simde_mm256_xor_si256(c2[1583],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[606],simde_mm256_xor_si256(c2[1322],simde_mm256_xor_si256(c2[2997],simde_mm256_xor_si256(c2[3699],simde_mm256_xor_si256(c2[2590],simde_mm256_xor_si256(c2[2596],simde_mm256_xor_si256(c2[3029],simde_mm256_xor_si256(c2[1350],simde_mm256_xor_si256(c2[2610],simde_mm256_xor_si256(c2[4299],simde_mm256_xor_si256(c2[664],simde_mm256_xor_si256(c2[2775],simde_mm256_xor_si256(c2[2497],simde_mm256_xor_si256(c2[2632],simde_mm256_xor_si256(c2[4328],simde_mm256_xor_si256(c2[3069],c2[3912]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[140]=simde_mm256_xor_si256(c2[2946],simde_mm256_xor_si256(c2[3086],simde_mm256_xor_si256(c2[426],simde_mm256_xor_si256(c2[842],simde_mm256_xor_si256(c2[3794],simde_mm256_xor_si256(c2[3934],simde_mm256_xor_si256(c2[2395],simde_mm256_xor_si256(c2[997],simde_mm256_xor_si256(c2[854],simde_mm256_xor_si256(c2[593],simde_mm256_xor_si256(c2[733],simde_mm256_xor_si256(c2[2832],simde_mm256_xor_si256(c2[325],simde_mm256_xor_si256(c2[465],simde_mm256_xor_si256(c2[1444],simde_mm256_xor_si256(c2[3967],simde_mm256_xor_si256(c2[197],simde_mm256_xor_si256(c2[1879],simde_mm256_xor_si256(c2[2581],simde_mm256_xor_si256(c2[2856],simde_mm256_xor_si256(c2[1472],simde_mm256_xor_si256(c2[1471],simde_mm256_xor_si256(c2[1764],simde_mm256_xor_si256(c2[1904],simde_mm256_xor_si256(c2[225],simde_mm256_xor_si256(c2[1485],simde_mm256_xor_si256(c2[3181],simde_mm256_xor_si256(c2[4018],simde_mm256_xor_si256(c2[1657],simde_mm256_xor_si256(c2[1372],simde_mm256_xor_si256(c2[1514],simde_mm256_xor_si256(c2[3070],simde_mm256_xor_si256(c2[3210],simde_mm256_xor_si256(c2[1951],c2[2787]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[147]=simde_mm256_xor_si256(c2[3644],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[1400],simde_mm256_xor_si256(c2[2242],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[2960],simde_mm256_xor_si256(c2[1415],simde_mm256_xor_si256(c2[1555],simde_mm256_xor_si256(c2[1291],simde_mm256_xor_si256(c2[3250],simde_mm256_xor_si256(c2[3390],simde_mm256_xor_si256(c2[1023],simde_mm256_xor_si256(c2[2002],simde_mm256_xor_si256(c2[46],simde_mm256_xor_si256(c2[762],simde_mm256_xor_si256(c2[2437],simde_mm256_xor_si256(c2[2999],simde_mm256_xor_si256(c2[3139],simde_mm256_xor_si256(c2[2030],simde_mm256_xor_si256(c2[1896],simde_mm256_xor_si256(c2[2036],simde_mm256_xor_si256(c2[2469],simde_mm256_xor_si256(c2[790],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[2050],simde_mm256_xor_si256(c2[3739],simde_mm256_xor_si256(c2[4443],simde_mm256_xor_si256(c2[104],simde_mm256_xor_si256(c2[2215],simde_mm256_xor_si256(c2[1937],simde_mm256_xor_si256(c2[1932],simde_mm256_xor_si256(c2[2072],simde_mm256_xor_si256(c2[1653],simde_mm256_xor_si256(c2[3768],simde_mm256_xor_si256(c2[2509],simde_mm256_xor_si256(c2[3212],c2[3352]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[154]=simde_mm256_xor_si256(c2[2395],c2[168]);
|
|
|
|
//row: 23
|
|
d2[161]=simde_mm256_xor_si256(c2[3924],simde_mm256_xor_si256(c2[3123],c2[914]));
|
|
|
|
//row: 24
|
|
d2[168]=simde_mm256_xor_si256(c2[3518],simde_mm256_xor_si256(c2[3390],c2[4467]));
|
|
|
|
//row: 25
|
|
d2[175]=simde_mm256_xor_si256(c2[2666],c2[4272]);
|
|
|
|
//row: 26
|
|
d2[182]=simde_mm256_xor_si256(c2[702],simde_mm256_xor_si256(c2[842],simde_mm256_xor_si256(c2[2102],simde_mm256_xor_si256(c2[2521],simde_mm256_xor_si256(c2[2661],simde_mm256_xor_si256(c2[3921],simde_mm256_xor_si256(c2[3084],simde_mm256_xor_si256(c2[4344],simde_mm256_xor_si256(c2[1557],simde_mm256_xor_si256(c2[1697],simde_mm256_xor_si256(c2[2957],simde_mm256_xor_si256(c2[158],simde_mm256_xor_si256(c2[1418],simde_mm256_xor_si256(c2[3239],simde_mm256_xor_si256(c2[4359],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[2828],simde_mm256_xor_si256(c2[2968],simde_mm256_xor_si256(c2[4228],simde_mm256_xor_si256(c2[588],simde_mm256_xor_si256(c2[1708],simde_mm256_xor_si256(c2[1848],simde_mm256_xor_si256(c2[3670],simde_mm256_xor_si256(c2[2567],simde_mm256_xor_si256(c2[2707],simde_mm256_xor_si256(c2[3967],simde_mm256_xor_si256(c2[3546],simde_mm256_xor_si256(c2[3686],simde_mm256_xor_si256(c2[467],simde_mm256_xor_si256(c2[1723],simde_mm256_xor_si256(c2[2983],simde_mm256_xor_si256(c2[2299],simde_mm256_xor_si256(c2[2439],simde_mm256_xor_si256(c2[3699],simde_mm256_xor_si256(c2[4121],simde_mm256_xor_si256(c2[902],simde_mm256_xor_si256(c2[337],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[1597],simde_mm256_xor_si256(c2[3574],simde_mm256_xor_si256(c2[3714],simde_mm256_xor_si256(c2[495],simde_mm256_xor_si256(c2[3713],simde_mm256_xor_si256(c2[354],simde_mm256_xor_si256(c2[494],simde_mm256_xor_si256(c2[4006],simde_mm256_xor_si256(c2[4146],simde_mm256_xor_si256(c2[927],simde_mm256_xor_si256(c2[2327],simde_mm256_xor_si256(c2[2467],simde_mm256_xor_si256(c2[3727],simde_mm256_xor_si256(c2[3727],simde_mm256_xor_si256(c2[368],simde_mm256_xor_si256(c2[508],simde_mm256_xor_si256(c2[804],simde_mm256_xor_si256(c2[944],simde_mm256_xor_si256(c2[2204],simde_mm256_xor_si256(c2[1781],simde_mm256_xor_si256(c2[2901],simde_mm256_xor_si256(c2[3041],simde_mm256_xor_si256(c2[938],simde_mm256_xor_si256(c2[3752],simde_mm256_xor_si256(c2[3892],simde_mm256_xor_si256(c2[673],simde_mm256_xor_si256(c2[3614],simde_mm256_xor_si256(c2[395],simde_mm256_xor_si256(c2[3756],simde_mm256_xor_si256(c2[397],simde_mm256_xor_si256(c2[537],simde_mm256_xor_si256(c2[826],simde_mm256_xor_si256(c2[966],simde_mm256_xor_si256(c2[2226],simde_mm256_xor_si256(c2[4046],simde_mm256_xor_si256(c2[4186],simde_mm256_xor_si256(c2[967],simde_mm256_xor_si256(c2[550],simde_mm256_xor_si256(c2[1670],c2[1810])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[189]=simde_mm256_xor_si256(c2[3780],c2[3167]);
|
|
|
|
//row: 28
|
|
d2[196]=simde_mm256_xor_si256(c2[3380],simde_mm256_xor_si256(c2[2834],c2[216]));
|
|
|
|
//row: 29
|
|
d2[203]=simde_mm256_xor_si256(c2[1683],c2[4117]);
|
|
|
|
//row: 30
|
|
d2[210]=simde_mm256_xor_si256(c2[1431],simde_mm256_xor_si256(c2[1751],simde_mm256_xor_si256(c2[3603],c2[2371])));
|
|
|
|
//row: 31
|
|
d2[217]=simde_mm256_xor_si256(c2[4340],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[2103],simde_mm256_xor_si256(c2[716],simde_mm256_xor_si256(c2[3656],simde_mm256_xor_si256(c2[2118],simde_mm256_xor_si256(c2[2258],simde_mm256_xor_si256(c2[2678],simde_mm256_xor_si256(c2[1994],simde_mm256_xor_si256(c2[3953],simde_mm256_xor_si256(c2[4093],simde_mm256_xor_si256(c2[1726],simde_mm256_xor_si256(c2[2705],simde_mm256_xor_si256(c2[742],simde_mm256_xor_si256(c2[1458],simde_mm256_xor_si256(c2[3140],simde_mm256_xor_si256(c2[3702],simde_mm256_xor_si256(c2[3842],simde_mm256_xor_si256(c2[2733],simde_mm256_xor_si256(c2[2592],simde_mm256_xor_si256(c2[2732],simde_mm256_xor_si256(c2[3165],simde_mm256_xor_si256(c2[1486],simde_mm256_xor_si256(c2[2606],simde_mm256_xor_si256(c2[2746],simde_mm256_xor_si256(c2[4442],simde_mm256_xor_si256(c2[660],simde_mm256_xor_si256(c2[800],simde_mm256_xor_si256(c2[2918],simde_mm256_xor_si256(c2[2633],simde_mm256_xor_si256(c2[2635],simde_mm256_xor_si256(c2[2775],simde_mm256_xor_si256(c2[4471],simde_mm256_xor_si256(c2[3212],simde_mm256_xor_si256(c2[3908],c2[4048])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[224]=simde_mm256_xor_si256(c2[3085],simde_mm256_xor_si256(c2[3225],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[565],simde_mm256_xor_si256(c2[981],simde_mm256_xor_si256(c2[1683],simde_mm256_xor_si256(c2[3940],simde_mm256_xor_si256(c2[4080],simde_mm256_xor_si256(c2[2534],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[732],simde_mm256_xor_si256(c2[872],simde_mm256_xor_si256(c2[2971],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[604],simde_mm256_xor_si256(c2[1443],simde_mm256_xor_si256(c2[1583],simde_mm256_xor_si256(c2[4106],simde_mm256_xor_si256(c2[196],simde_mm256_xor_si256(c2[336],simde_mm256_xor_si256(c2[2018],simde_mm256_xor_si256(c2[2720],simde_mm256_xor_si256(c2[1471],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[1610],simde_mm256_xor_si256(c2[3010],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[2050],simde_mm256_xor_si256(c2[224],simde_mm256_xor_si256(c2[364],simde_mm256_xor_si256(c2[1624],simde_mm256_xor_si256(c2[3180],simde_mm256_xor_si256(c2[3320],simde_mm256_xor_si256(c2[4164],simde_mm256_xor_si256(c2[1656],simde_mm256_xor_si256(c2[1796],simde_mm256_xor_si256(c2[1518],simde_mm256_xor_si256(c2[1653],simde_mm256_xor_si256(c2[3209],simde_mm256_xor_si256(c2[3349],simde_mm256_xor_si256(c2[1950],simde_mm256_xor_si256(c2[2090],c2[2926]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[231]=simde_mm256_xor_si256(c2[2945],simde_mm256_xor_si256(c2[285],simde_mm256_xor_si256(c2[701],simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[2254],simde_mm256_xor_si256(c2[856],simde_mm256_xor_si256(c2[592],simde_mm256_xor_si256(c2[2691],simde_mm256_xor_si256(c2[1010],simde_mm256_xor_si256(c2[324],simde_mm256_xor_si256(c2[1303],simde_mm256_xor_si256(c2[3826],simde_mm256_xor_si256(c2[56],simde_mm256_xor_si256(c2[1738],simde_mm256_xor_si256(c2[2440],simde_mm256_xor_si256(c2[1331],simde_mm256_xor_si256(c2[1330],simde_mm256_xor_si256(c2[1770],simde_mm256_xor_si256(c2[84],simde_mm256_xor_si256(c2[1344],simde_mm256_xor_si256(c2[3040],simde_mm256_xor_si256(c2[3884],simde_mm256_xor_si256(c2[1778],simde_mm256_xor_si256(c2[1516],simde_mm256_xor_si256(c2[1238],simde_mm256_xor_si256(c2[1373],simde_mm256_xor_si256(c2[3069],simde_mm256_xor_si256(c2[1810],c2[2646]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[238]=simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[2521],simde_mm256_xor_si256(c2[1964],simde_mm256_xor_si256(c2[4200],simde_mm256_xor_si256(c2[4340],simde_mm256_xor_si256(c2[3783],simde_mm256_xor_si256(c2[284],simde_mm256_xor_si256(c2[4206],simde_mm256_xor_si256(c2[4060],simde_mm256_xor_si256(c2[3236],simde_mm256_xor_si256(c2[3376],simde_mm256_xor_si256(c2[2819],simde_mm256_xor_si256(c2[1837],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[439],simde_mm256_xor_si256(c2[4214],simde_mm256_xor_si256(c2[4354],simde_mm256_xor_si256(c2[28],simde_mm256_xor_si256(c2[168],simde_mm256_xor_si256(c2[4090],simde_mm256_xor_si256(c2[2274],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[1710],simde_mm256_xor_si256(c2[4246],simde_mm256_xor_si256(c2[4386],simde_mm256_xor_si256(c2[3822],simde_mm256_xor_si256(c2[746],simde_mm256_xor_si256(c2[886],simde_mm256_xor_si256(c2[322],simde_mm256_xor_si256(c2[3402],simde_mm256_xor_si256(c2[2845],simde_mm256_xor_si256(c2[3978],simde_mm256_xor_si256(c2[4118],simde_mm256_xor_si256(c2[3561],simde_mm256_xor_si256(c2[1321],simde_mm256_xor_si256(c2[757],simde_mm256_xor_si256(c2[2016],simde_mm256_xor_si256(c2[1319],simde_mm256_xor_si256(c2[1459],simde_mm256_xor_si256(c2[774],simde_mm256_xor_si256(c2[914],simde_mm256_xor_si256(c2[350],simde_mm256_xor_si256(c2[913],simde_mm256_xor_si256(c2[216],simde_mm256_xor_si256(c2[356],simde_mm256_xor_si256(c2[1206],simde_mm256_xor_si256(c2[1346],simde_mm256_xor_si256(c2[789],simde_mm256_xor_si256(c2[4006],simde_mm256_xor_si256(c2[4146],simde_mm256_xor_si256(c2[3589],simde_mm256_xor_si256(c2[927],simde_mm256_xor_si256(c2[230],simde_mm256_xor_si256(c2[370],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[2623],simde_mm256_xor_si256(c2[2059],simde_mm256_xor_si256(c2[3460],simde_mm256_xor_si256(c2[2763],simde_mm256_xor_si256(c2[2903],simde_mm256_xor_si256(c2[952],simde_mm256_xor_si256(c2[1092],simde_mm256_xor_si256(c2[535],simde_mm256_xor_si256(c2[814],simde_mm256_xor_si256(c2[257],simde_mm256_xor_si256(c2[956],simde_mm256_xor_si256(c2[252],simde_mm256_xor_si256(c2[392],simde_mm256_xor_si256(c2[2512],simde_mm256_xor_si256(c2[2652],simde_mm256_xor_si256(c2[2088],simde_mm256_xor_si256(c2[1246],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[829],simde_mm256_xor_si256(c2[2229],simde_mm256_xor_si256(c2[1532],c2[1672]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[245]=simde_mm256_xor_si256(c2[4343],simde_mm256_xor_si256(c2[4],simde_mm256_xor_si256(c2[1823],simde_mm256_xor_si256(c2[2246],simde_mm256_xor_si256(c2[719],simde_mm256_xor_si256(c2[859],simde_mm256_xor_si256(c2[3799],simde_mm256_xor_si256(c2[2394],simde_mm256_xor_si256(c2[3796],simde_mm256_xor_si256(c2[1990],simde_mm256_xor_si256(c2[2130],simde_mm256_xor_si256(c2[4229],simde_mm256_xor_si256(c2[1722],simde_mm256_xor_si256(c2[1862],simde_mm256_xor_si256(c2[2848],simde_mm256_xor_si256(c2[885],simde_mm256_xor_si256(c2[1601],simde_mm256_xor_si256(c2[3276],simde_mm256_xor_si256(c2[3978],simde_mm256_xor_si256(c2[2876],simde_mm256_xor_si256(c2[2875],simde_mm256_xor_si256(c2[775],simde_mm256_xor_si256(c2[3168],simde_mm256_xor_si256(c2[3308],simde_mm256_xor_si256(c2[1629],simde_mm256_xor_si256(c2[2889],simde_mm256_xor_si256(c2[99],simde_mm256_xor_si256(c2[943],simde_mm256_xor_si256(c2[3054],simde_mm256_xor_si256(c2[2776],simde_mm256_xor_si256(c2[2918],simde_mm256_xor_si256(c2[4467],simde_mm256_xor_si256(c2[128],simde_mm256_xor_si256(c2[3348],c2[4191]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[252]=simde_mm256_xor_si256(c2[140],simde_mm256_xor_si256(c2[2133],c2[2760]));
|
|
|
|
//row: 37
|
|
d2[259]=simde_mm256_xor_si256(c2[2243],simde_mm256_xor_si256(c2[2942],simde_mm256_xor_si256(c2[4062],simde_mm256_xor_si256(c2[282],simde_mm256_xor_si256(c2[6],simde_mm256_xor_si256(c2[705],simde_mm256_xor_si256(c2[3098],simde_mm256_xor_si256(c2[3797],simde_mm256_xor_si256(c2[1559],simde_mm256_xor_si256(c2[2258],simde_mm256_xor_si256(c2[154],simde_mm256_xor_si256(c2[720],simde_mm256_xor_si256(c2[860],simde_mm256_xor_si256(c2[4369],simde_mm256_xor_si256(c2[589],simde_mm256_xor_si256(c2[1989],simde_mm256_xor_si256(c2[2548],simde_mm256_xor_si256(c2[2688],simde_mm256_xor_si256(c2[4108],simde_mm256_xor_si256(c2[328],simde_mm256_xor_si256(c2[608],simde_mm256_xor_si256(c2[1307],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[3823],simde_mm256_xor_si256(c2[3840],simde_mm256_xor_si256(c2[60],simde_mm256_xor_si256(c2[1036],simde_mm256_xor_si256(c2[1742],simde_mm256_xor_si256(c2[1738],simde_mm256_xor_si256(c2[2297],simde_mm256_xor_si256(c2[2437],simde_mm256_xor_si256(c2[636],simde_mm256_xor_si256(c2[1335],simde_mm256_xor_si256(c2[635],simde_mm256_xor_si256(c2[1194],simde_mm256_xor_si256(c2[1334],simde_mm256_xor_si256(c2[1068],simde_mm256_xor_si256(c2[1767],simde_mm256_xor_si256(c2[3868],simde_mm256_xor_si256(c2[88],simde_mm256_xor_si256(c2[649],simde_mm256_xor_si256(c2[1208],simde_mm256_xor_si256(c2[1348],simde_mm256_xor_si256(c2[2338],simde_mm256_xor_si256(c2[3044],simde_mm256_xor_si256(c2[3182],simde_mm256_xor_si256(c2[3741],simde_mm256_xor_si256(c2[3881],simde_mm256_xor_si256(c2[814],simde_mm256_xor_si256(c2[1513],simde_mm256_xor_si256(c2[536],simde_mm256_xor_si256(c2[1235],simde_mm256_xor_si256(c2[678],simde_mm256_xor_si256(c2[1237],simde_mm256_xor_si256(c2[1377],simde_mm256_xor_si256(c2[2367],simde_mm256_xor_si256(c2[3066],simde_mm256_xor_si256(c2[1108],simde_mm256_xor_si256(c2[1807],simde_mm256_xor_si256(c2[1951],simde_mm256_xor_si256(c2[2510],c2[2650])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[266]=simde_mm256_xor_si256(c2[3083],simde_mm256_xor_si256(c2[3223],simde_mm256_xor_si256(c2[563],simde_mm256_xor_si256(c2[986],simde_mm256_xor_si256(c2[3938],simde_mm256_xor_si256(c2[4078],simde_mm256_xor_si256(c2[2539],simde_mm256_xor_si256(c2[1134],simde_mm256_xor_si256(c2[715],simde_mm256_xor_si256(c2[730],simde_mm256_xor_si256(c2[870],simde_mm256_xor_si256(c2[2969],simde_mm256_xor_si256(c2[462],simde_mm256_xor_si256(c2[602],simde_mm256_xor_si256(c2[1588],simde_mm256_xor_si256(c2[4104],simde_mm256_xor_si256(c2[341],simde_mm256_xor_si256(c2[2016],simde_mm256_xor_si256(c2[2718],simde_mm256_xor_si256(c2[1616],simde_mm256_xor_si256(c2[1615],simde_mm256_xor_si256(c2[213],simde_mm256_xor_si256(c2[1908],simde_mm256_xor_si256(c2[2048],simde_mm256_xor_si256(c2[369],simde_mm256_xor_si256(c2[1629],simde_mm256_xor_si256(c2[3318],simde_mm256_xor_si256(c2[4162],simde_mm256_xor_si256(c2[1794],simde_mm256_xor_si256(c2[1516],simde_mm256_xor_si256(c2[1658],simde_mm256_xor_si256(c2[3207],simde_mm256_xor_si256(c2[3347],simde_mm256_xor_si256(c2[2088],c2[2931]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[273]=simde_mm256_xor_si256(c2[280],simde_mm256_xor_si256(c2[420],simde_mm256_xor_si256(c2[2106],simde_mm256_xor_si256(c2[2246],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[1403],simde_mm256_xor_si256(c2[1135],simde_mm256_xor_si256(c2[1275],simde_mm256_xor_si256(c2[4215],simde_mm256_xor_si256(c2[2817],simde_mm256_xor_si256(c2[2413],simde_mm256_xor_si256(c2[2553],simde_mm256_xor_si256(c2[173],simde_mm256_xor_si256(c2[2145],simde_mm256_xor_si256(c2[2285],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[3264],simde_mm256_xor_si256(c2[1308],simde_mm256_xor_si256(c2[1877],simde_mm256_xor_si256(c2[2017],simde_mm256_xor_si256(c2[3699],simde_mm256_xor_si256(c2[4401],simde_mm256_xor_si256(c2[3152],simde_mm256_xor_si256(c2[3292],simde_mm256_xor_si256(c2[3291],simde_mm256_xor_si256(c2[3584],simde_mm256_xor_si256(c2[3724],simde_mm256_xor_si256(c2[1905],simde_mm256_xor_si256(c2[2045],simde_mm256_xor_si256(c2[3305],simde_mm256_xor_si256(c2[382],simde_mm256_xor_si256(c2[522],simde_mm256_xor_si256(c2[1359],simde_mm256_xor_si256(c2[3043],simde_mm256_xor_si256(c2[3337],simde_mm256_xor_si256(c2[3477],simde_mm256_xor_si256(c2[3192],simde_mm256_xor_si256(c2[3334],simde_mm256_xor_si256(c2[411],simde_mm256_xor_si256(c2[551],simde_mm256_xor_si256(c2[3631],simde_mm256_xor_si256(c2[3771],c2[128]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[280]=simde_mm256_xor_si256(c2[1543],simde_mm256_xor_si256(c2[1823],simde_mm256_xor_si256(c2[3362],simde_mm256_xor_si256(c2[3642],simde_mm256_xor_si256(c2[3785],simde_mm256_xor_si256(c2[4065],simde_mm256_xor_si256(c2[2398],simde_mm256_xor_si256(c2[2678],simde_mm256_xor_si256(c2[859],simde_mm256_xor_si256(c2[1139],simde_mm256_xor_si256(c2[3940],simde_mm256_xor_si256(c2[4080],simde_mm256_xor_si256(c2[4220],simde_mm256_xor_si256(c2[3669],simde_mm256_xor_si256(c2[3949],simde_mm256_xor_si256(c2[1289],simde_mm256_xor_si256(c2[1429],simde_mm256_xor_si256(c2[1569],simde_mm256_xor_si256(c2[311],simde_mm256_xor_si256(c2[3408],simde_mm256_xor_si256(c2[3688],simde_mm256_xor_si256(c2[4387],simde_mm256_xor_si256(c2[188],simde_mm256_xor_si256(c2[2424],simde_mm256_xor_si256(c2[2704],simde_mm256_xor_si256(c2[3140],simde_mm256_xor_si256(c2[3420],simde_mm256_xor_si256(c2[336],simde_mm256_xor_si256(c2[616],simde_mm256_xor_si256(c2[1038],simde_mm256_xor_si256(c2[1178],simde_mm256_xor_si256(c2[1318],simde_mm256_xor_si256(c2[4415],simde_mm256_xor_si256(c2[216],simde_mm256_xor_si256(c2[4414],simde_mm256_xor_si256(c2[75],simde_mm256_xor_si256(c2[215],simde_mm256_xor_si256(c2[368],simde_mm256_xor_si256(c2[648],simde_mm256_xor_si256(c2[3168],simde_mm256_xor_si256(c2[3448],simde_mm256_xor_si256(c2[4428],simde_mm256_xor_si256(c2[89],simde_mm256_xor_si256(c2[229],simde_mm256_xor_si256(c2[1638],simde_mm256_xor_si256(c2[1918],simde_mm256_xor_si256(c2[2482],simde_mm256_xor_si256(c2[2622],simde_mm256_xor_si256(c2[2762],simde_mm256_xor_si256(c2[114],simde_mm256_xor_si256(c2[394],simde_mm256_xor_si256(c2[4315],simde_mm256_xor_si256(c2[116],simde_mm256_xor_si256(c2[4457],simde_mm256_xor_si256(c2[118],simde_mm256_xor_si256(c2[258],simde_mm256_xor_si256(c2[1667],simde_mm256_xor_si256(c2[1947],simde_mm256_xor_si256(c2[408],simde_mm256_xor_si256(c2[688],simde_mm256_xor_si256(c2[1251],simde_mm256_xor_si256(c2[1391],c2[1531]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[287]=simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[3644],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[1400],simde_mm256_xor_si256(c2[4359],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[2960],simde_mm256_xor_si256(c2[1555],simde_mm256_xor_si256(c2[3377],simde_mm256_xor_si256(c2[1151],simde_mm256_xor_si256(c2[1291],simde_mm256_xor_si256(c2[3390],simde_mm256_xor_si256(c2[883],simde_mm256_xor_si256(c2[1023],simde_mm256_xor_si256(c2[2002],simde_mm256_xor_si256(c2[46],simde_mm256_xor_si256(c2[762],simde_mm256_xor_si256(c2[2437],simde_mm256_xor_si256(c2[3139],simde_mm256_xor_si256(c2[2030],simde_mm256_xor_si256(c2[2036],simde_mm256_xor_si256(c2[773],simde_mm256_xor_si256(c2[2329],simde_mm256_xor_si256(c2[2469],simde_mm256_xor_si256(c2[790],simde_mm256_xor_si256(c2[2050],simde_mm256_xor_si256(c2[3739],simde_mm256_xor_si256(c2[104],simde_mm256_xor_si256(c2[2215],simde_mm256_xor_si256(c2[1937],simde_mm256_xor_si256(c2[2072],simde_mm256_xor_si256(c2[3628],simde_mm256_xor_si256(c2[3768],simde_mm256_xor_si256(c2[2509],c2[3352]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|
|
#endif
|