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=160, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc160_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<5; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[804],simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[3114],simde_mm256_xor_si256(c2[2912],simde_mm256_xor_si256(c2[511],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[1420],simde_mm256_xor_si256(c2[3134],simde_mm256_xor_si256(c2[2733],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[840],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[3154],simde_mm256_xor_si256(c2[1754],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[2362],simde_mm256_xor_si256(c2[1160],simde_mm256_xor_si256(c2[3174],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[1183],simde_mm256_xor_si256(c2[2081],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[5]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[804],simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[3114],simde_mm256_xor_si256(c2[2912],simde_mm256_xor_si256(c2[511],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[1420],simde_mm256_xor_si256(c2[30],simde_mm256_xor_si256(c2[3134],simde_mm256_xor_si256(c2[2733],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[840],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[3154],simde_mm256_xor_si256(c2[1754],simde_mm256_xor_si256(c2[60],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[2362],simde_mm256_xor_si256(c2[1160],simde_mm256_xor_si256(c2[3174],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[1183],simde_mm256_xor_si256(c2[2081],simde_mm256_xor_si256(c2[90],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[10]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[904],simde_mm256_xor_si256(c2[804],simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[3114],simde_mm256_xor_si256(c2[2912],simde_mm256_xor_si256(c2[511],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[1420],simde_mm256_xor_si256(c2[30],simde_mm256_xor_si256(c2[3134],simde_mm256_xor_si256(c2[2833],simde_mm256_xor_si256(c2[2733],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[840],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[50],simde_mm256_xor_si256(c2[3154],simde_mm256_xor_si256(c2[1754],simde_mm256_xor_si256(c2[60],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[2462],simde_mm256_xor_si256(c2[2362],simde_mm256_xor_si256(c2[1160],simde_mm256_xor_si256(c2[70],simde_mm256_xor_si256(c2[3174],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[80],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[1183],simde_mm256_xor_si256(c2[2081],simde_mm256_xor_si256(c2[90],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[2391],simde_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[15]=simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[804],simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[3114],simde_mm256_xor_si256(c2[2912],simde_mm256_xor_si256(c2[611],simde_mm256_xor_si256(c2[511],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[1520],simde_mm256_xor_si256(c2[1420],simde_mm256_xor_si256(c2[3134],simde_mm256_xor_si256(c2[2733],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[840],simde_mm256_xor_si256(c2[643],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[3154],simde_mm256_xor_si256(c2[1854],simde_mm256_xor_si256(c2[1754],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[2362],simde_mm256_xor_si256(c2[1260],simde_mm256_xor_si256(c2[1160],simde_mm256_xor_si256(c2[3174],simde_mm256_xor_si256(c2[2571],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[1183],simde_mm256_xor_si256(c2[2181],simde_mm256_xor_si256(c2[2081],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[2291],simde_mm256_xor_si256(c2[1491],c2[1391]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[20]=simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[2804],simde_mm256_xor_si256(c2[504],simde_mm256_xor_si256(c2[1600],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2914],simde_mm256_xor_si256(c2[2814],simde_mm256_xor_si256(c2[2612],simde_mm256_xor_si256(c2[211],simde_mm256_xor_si256(c2[814],simde_mm256_xor_si256(c2[2924],simde_mm256_xor_si256(c2[2824],simde_mm256_xor_si256(c2[1120],simde_mm256_xor_si256(c2[2934],simde_mm256_xor_si256(c2[2834],simde_mm256_xor_si256(c2[2433],simde_mm256_xor_si256(c2[3132],simde_mm256_xor_si256(c2[2844],simde_mm256_xor_si256(c2[540],simde_mm256_xor_si256(c2[243],simde_mm256_xor_si256(c2[2854],simde_mm256_xor_si256(c2[1454],simde_mm256_xor_si256(c2[2964],simde_mm256_xor_si256(c2[2864],simde_mm256_xor_si256(c2[2062],simde_mm256_xor_si256(c2[860],simde_mm256_xor_si256(c2[2874],simde_mm256_xor_si256(c2[2171],simde_mm256_xor_si256(c2[2884],simde_mm256_xor_si256(c2[883],simde_mm256_xor_si256(c2[1781],simde_mm256_xor_si256(c2[2994],simde_mm256_xor_si256(c2[2894],simde_mm256_xor_si256(c2[1991],c2[1091]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[25]=simde_mm256_xor_si256(c2[2],simde_mm256_xor_si256(c2[3101],simde_mm256_xor_si256(c2[801],simde_mm256_xor_si256(c2[1902],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[12],simde_mm256_xor_si256(c2[3111],simde_mm256_xor_si256(c2[2914],simde_mm256_xor_si256(c2[513],simde_mm256_xor_si256(c2[314],simde_mm256_xor_si256(c2[22],simde_mm256_xor_si256(c2[3121],simde_mm256_xor_si256(c2[1422],simde_mm256_xor_si256(c2[32],simde_mm256_xor_si256(c2[3131],simde_mm256_xor_si256(c2[2730],simde_mm256_xor_si256(c2[230],simde_mm256_xor_si256(c2[3141],simde_mm256_xor_si256(c2[842],simde_mm256_xor_si256(c2[540],simde_mm256_xor_si256(c2[3151],simde_mm256_xor_si256(c2[1751],simde_mm256_xor_si256(c2[1454],simde_mm256_xor_si256(c2[62],simde_mm256_xor_si256(c2[3161],simde_mm256_xor_si256(c2[2364],simde_mm256_xor_si256(c2[1162],simde_mm256_xor_si256(c2[3171],simde_mm256_xor_si256(c2[2473],simde_mm256_xor_si256(c2[1374],simde_mm256_xor_si256(c2[3181],simde_mm256_xor_si256(c2[1180],simde_mm256_xor_si256(c2[2083],simde_mm256_xor_si256(c2[92],simde_mm256_xor_si256(c2[3191],simde_mm256_xor_si256(c2[2293],c2[1393]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[30]=simde_mm256_xor_si256(c2[2004],simde_mm256_xor_si256(c2[1904],simde_mm256_xor_si256(c2[2803],simde_mm256_xor_si256(c2[700],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2014],simde_mm256_xor_si256(c2[1914],simde_mm256_xor_si256(c2[1712],simde_mm256_xor_si256(c2[2510],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[1924],simde_mm256_xor_si256(c2[220],simde_mm256_xor_si256(c2[2034],simde_mm256_xor_si256(c2[1934],simde_mm256_xor_si256(c2[1533],simde_mm256_xor_si256(c2[2232],simde_mm256_xor_si256(c2[1944],simde_mm256_xor_si256(c2[2844],simde_mm256_xor_si256(c2[2542],simde_mm256_xor_si256(c2[1954],simde_mm256_xor_si256(c2[554],simde_mm256_xor_si256(c2[2853],simde_mm256_xor_si256(c2[2064],simde_mm256_xor_si256(c2[1964],simde_mm256_xor_si256(c2[1162],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[1974],simde_mm256_xor_si256(c2[1271],simde_mm256_xor_si256(c2[373],simde_mm256_xor_si256(c2[1984],simde_mm256_xor_si256(c2[3182],simde_mm256_xor_si256(c2[881],simde_mm256_xor_si256(c2[2094],simde_mm256_xor_si256(c2[1994],simde_mm256_xor_si256(c2[1091],simde_mm256_xor_si256(c2[191],c2[1391]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[35]=simde_mm256_xor_si256(c2[3],simde_mm256_xor_si256(c2[3102],simde_mm256_xor_si256(c2[1302],simde_mm256_xor_si256(c2[802],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[1903],simde_mm256_xor_si256(c2[103],simde_mm256_xor_si256(c2[13],simde_mm256_xor_si256(c2[3112],simde_mm256_xor_si256(c2[1312],simde_mm256_xor_si256(c2[2910],simde_mm256_xor_si256(c2[1110],simde_mm256_xor_si256(c2[514],simde_mm256_xor_si256(c2[2013],simde_mm256_xor_si256(c2[1913],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[23],simde_mm256_xor_si256(c2[3122],simde_mm256_xor_si256(c2[1322],simde_mm256_xor_si256(c2[1423],simde_mm256_xor_si256(c2[2922],simde_mm256_xor_si256(c2[2822],simde_mm256_xor_si256(c2[33],simde_mm256_xor_si256(c2[3132],simde_mm256_xor_si256(c2[1332],simde_mm256_xor_si256(c2[2731],simde_mm256_xor_si256(c2[931],simde_mm256_xor_si256(c2[231],simde_mm256_xor_si256(c2[1630],simde_mm256_xor_si256(c2[3142],simde_mm256_xor_si256(c2[1342],simde_mm256_xor_si256(c2[843],simde_mm256_xor_si256(c2[2242],simde_mm256_xor_si256(c2[541],simde_mm256_xor_si256(c2[2040],simde_mm256_xor_si256(c2[1940],simde_mm256_xor_si256(c2[3152],simde_mm256_xor_si256(c2[1352],simde_mm256_xor_si256(c2[1752],simde_mm256_xor_si256(c2[52],simde_mm256_xor_si256(c2[3151],simde_mm256_xor_si256(c2[1351],simde_mm256_xor_si256(c2[63],simde_mm256_xor_si256(c2[3162],simde_mm256_xor_si256(c2[1362],simde_mm256_xor_si256(c2[2360],simde_mm256_xor_si256(c2[560],simde_mm256_xor_si256(c2[1163],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[3172],simde_mm256_xor_si256(c2[1372],simde_mm256_xor_si256(c2[2474],simde_mm256_xor_si256(c2[774],simde_mm256_xor_si256(c2[674],simde_mm256_xor_si256(c2[2074],simde_mm256_xor_si256(c2[3182],simde_mm256_xor_si256(c2[1382],simde_mm256_xor_si256(c2[1181],simde_mm256_xor_si256(c2[2580],simde_mm256_xor_si256(c2[2084],simde_mm256_xor_si256(c2[384],simde_mm256_xor_si256(c2[284],simde_mm256_xor_si256(c2[93],simde_mm256_xor_si256(c2[3192],simde_mm256_xor_si256(c2[1392],simde_mm256_xor_si256(c2[2294],simde_mm256_xor_si256(c2[494],simde_mm256_xor_si256(c2[1394],simde_mm256_xor_si256(c2[2893],c2[2793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[40]=simde_mm256_xor_si256(c2[2302],simde_mm256_xor_si256(c2[2202],simde_mm256_xor_si256(c2[2],simde_mm256_xor_si256(c2[3101],simde_mm256_xor_si256(c2[1003],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2312],simde_mm256_xor_si256(c2[2212],simde_mm256_xor_si256(c2[2010],simde_mm256_xor_si256(c2[2813],simde_mm256_xor_si256(c2[112],simde_mm256_xor_si256(c2[2322],simde_mm256_xor_si256(c2[2222],simde_mm256_xor_si256(c2[523],simde_mm256_xor_si256(c2[2332],simde_mm256_xor_si256(c2[2232],simde_mm256_xor_si256(c2[1931],simde_mm256_xor_si256(c2[1831],simde_mm256_xor_si256(c2[2530],simde_mm256_xor_si256(c2[2342],simde_mm256_xor_si256(c2[2242],simde_mm256_xor_si256(c2[3142],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[2352],simde_mm256_xor_si256(c2[2252],simde_mm256_xor_si256(c2[852],simde_mm256_xor_si256(c2[2362],simde_mm256_xor_si256(c2[2262],simde_mm256_xor_si256(c2[1560],simde_mm256_xor_si256(c2[1460],simde_mm256_xor_si256(c2[263],simde_mm256_xor_si256(c2[2372],simde_mm256_xor_si256(c2[2272],simde_mm256_xor_si256(c2[1574],simde_mm256_xor_si256(c2[2382],simde_mm256_xor_si256(c2[2282],simde_mm256_xor_si256(c2[281],simde_mm256_xor_si256(c2[1184],simde_mm256_xor_si256(c2[2392],simde_mm256_xor_si256(c2[2292],simde_mm256_xor_si256(c2[1494],simde_mm256_xor_si256(c2[1394],c2[494]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[45]=simde_mm256_xor_si256(c2[1801],simde_mm256_xor_si256(c2[2102],simde_mm256_xor_si256(c2[2002],simde_mm256_xor_si256(c2[2700],simde_mm256_xor_si256(c2[2901],simde_mm256_xor_si256(c2[602],simde_mm256_xor_si256(c2[803],simde_mm256_xor_si256(c2[1811],simde_mm256_xor_si256(c2[2112],simde_mm256_xor_si256(c2[2012],simde_mm256_xor_si256(c2[1614],simde_mm256_xor_si256(c2[1810],simde_mm256_xor_si256(c2[2412],simde_mm256_xor_si256(c2[2613],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[1821],simde_mm256_xor_si256(c2[2122],simde_mm256_xor_si256(c2[2022],simde_mm256_xor_si256(c2[122],simde_mm256_xor_si256(c2[323],simde_mm256_xor_si256(c2[1831],simde_mm256_xor_si256(c2[2132],simde_mm256_xor_si256(c2[2032],simde_mm256_xor_si256(c2[1430],simde_mm256_xor_si256(c2[1631],simde_mm256_xor_si256(c2[2134],simde_mm256_xor_si256(c2[2330],simde_mm256_xor_si256(c2[1841],simde_mm256_xor_si256(c2[2042],simde_mm256_xor_si256(c2[2741],simde_mm256_xor_si256(c2[2942],simde_mm256_xor_si256(c2[2444],simde_mm256_xor_si256(c2[2640],simde_mm256_xor_si256(c2[1851],simde_mm256_xor_si256(c2[2052],simde_mm256_xor_si256(c2[451],simde_mm256_xor_si256(c2[652],simde_mm256_xor_si256(c2[1861],simde_mm256_xor_si256(c2[2162],simde_mm256_xor_si256(c2[2062],simde_mm256_xor_si256(c2[1064],simde_mm256_xor_si256(c2[1260],simde_mm256_xor_si256(c2[3061],simde_mm256_xor_si256(c2[63],simde_mm256_xor_si256(c2[1871],simde_mm256_xor_si256(c2[2072],simde_mm256_xor_si256(c2[1173],simde_mm256_xor_si256(c2[1374],simde_mm256_xor_si256(c2[1881],simde_mm256_xor_si256(c2[2082],simde_mm256_xor_si256(c2[3084],simde_mm256_xor_si256(c2[81],simde_mm256_xor_si256(c2[783],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[183],simde_mm256_xor_si256(c2[1891],simde_mm256_xor_si256(c2[2192],simde_mm256_xor_si256(c2[2092],simde_mm256_xor_si256(c2[993],simde_mm256_xor_si256(c2[1194],simde_mm256_xor_si256(c2[93],c2[294])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[50]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[1710],simde_mm256_xor_si256(c2[2864],c2[2070])));
|
|
|
|
//row: 11
|
|
d2[55]=simde_mm256_xor_si256(c2[100],simde_mm256_xor_si256(c2[1004],simde_mm256_xor_si256(c2[2100],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[110],simde_mm256_xor_si256(c2[3112],simde_mm256_xor_si256(c2[811],simde_mm256_xor_si256(c2[711],simde_mm256_xor_si256(c2[120],simde_mm256_xor_si256(c2[1720],simde_mm256_xor_si256(c2[1620],simde_mm256_xor_si256(c2[130],simde_mm256_xor_si256(c2[2933],simde_mm256_xor_si256(c2[433],simde_mm256_xor_si256(c2[140],simde_mm256_xor_si256(c2[1040],simde_mm256_xor_si256(c2[843],simde_mm256_xor_si256(c2[743],simde_mm256_xor_si256(c2[150],simde_mm256_xor_si256(c2[2054],simde_mm256_xor_si256(c2[1954],simde_mm256_xor_si256(c2[160],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[1460],simde_mm256_xor_si256(c2[1360],simde_mm256_xor_si256(c2[170],simde_mm256_xor_si256(c2[2771],simde_mm256_xor_si256(c2[2671],simde_mm256_xor_si256(c2[770],simde_mm256_xor_si256(c2[180],simde_mm256_xor_si256(c2[1383],simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[2281],simde_mm256_xor_si256(c2[190],simde_mm256_xor_si256(c2[2491],simde_mm256_xor_si256(c2[1691],simde_mm256_xor_si256(c2[1591],c2[490])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[60]=simde_mm256_xor_si256(c2[1601],simde_mm256_xor_si256(c2[1501],simde_mm256_xor_si256(c2[2400],simde_mm256_xor_si256(c2[302],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[1511],simde_mm256_xor_si256(c2[1314],simde_mm256_xor_si256(c2[2112],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[1621],simde_mm256_xor_si256(c2[1521],simde_mm256_xor_si256(c2[3021],simde_mm256_xor_si256(c2[1631],simde_mm256_xor_si256(c2[1531],simde_mm256_xor_si256(c2[1130],simde_mm256_xor_si256(c2[1834],simde_mm256_xor_si256(c2[1733],simde_mm256_xor_si256(c2[1541],simde_mm256_xor_si256(c2[2441],simde_mm256_xor_si256(c2[2144],simde_mm256_xor_si256(c2[1551],simde_mm256_xor_si256(c2[151],simde_mm256_xor_si256(c2[1661],simde_mm256_xor_si256(c2[1561],simde_mm256_xor_si256(c2[764],simde_mm256_xor_si256(c2[2761],simde_mm256_xor_si256(c2[1571],simde_mm256_xor_si256(c2[873],simde_mm256_xor_si256(c2[1581],simde_mm256_xor_si256(c2[2784],simde_mm256_xor_si256(c2[483],simde_mm256_xor_si256(c2[1691],simde_mm256_xor_si256(c2[1591],simde_mm256_xor_si256(c2[693],c2[2992]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[65]=simde_mm256_xor_si256(c2[2500],simde_mm256_xor_si256(c2[200],simde_mm256_xor_si256(c2[1301],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2510],simde_mm256_xor_si256(c2[2313],simde_mm256_xor_si256(c2[12],simde_mm256_xor_si256(c2[3111],simde_mm256_xor_si256(c2[1613],simde_mm256_xor_si256(c2[2520],simde_mm256_xor_si256(c2[921],simde_mm256_xor_si256(c2[821],simde_mm256_xor_si256(c2[2530],simde_mm256_xor_si256(c2[2134],simde_mm256_xor_si256(c2[2833],simde_mm256_xor_si256(c2[2540],simde_mm256_xor_si256(c2[241],simde_mm256_xor_si256(c2[44],simde_mm256_xor_si256(c2[3143],simde_mm256_xor_si256(c2[2550],simde_mm256_xor_si256(c2[1250],simde_mm256_xor_si256(c2[1150],simde_mm256_xor_si256(c2[2560],simde_mm256_xor_si256(c2[1763],simde_mm256_xor_si256(c2[661],simde_mm256_xor_si256(c2[561],simde_mm256_xor_si256(c2[2570],simde_mm256_xor_si256(c2[1972],simde_mm256_xor_si256(c2[1872],simde_mm256_xor_si256(c2[2580],simde_mm256_xor_si256(c2[584],simde_mm256_xor_si256(c2[1582],simde_mm256_xor_si256(c2[1482],simde_mm256_xor_si256(c2[683],simde_mm256_xor_si256(c2[2590],simde_mm256_xor_si256(c2[1692],simde_mm256_xor_si256(c2[892],c2[792])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[70]=simde_mm256_xor_si256(c2[2501],simde_mm256_xor_si256(c2[2401],simde_mm256_xor_si256(c2[2600],simde_mm256_xor_si256(c2[101],simde_mm256_xor_si256(c2[300],simde_mm256_xor_si256(c2[1202],simde_mm256_xor_si256(c2[1401],simde_mm256_xor_si256(c2[2511],simde_mm256_xor_si256(c2[2411],simde_mm256_xor_si256(c2[2610],simde_mm256_xor_si256(c2[2214],simde_mm256_xor_si256(c2[2413],simde_mm256_xor_si256(c2[3012],simde_mm256_xor_si256(c2[112],simde_mm256_xor_si256(c2[12],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[2521],simde_mm256_xor_si256(c2[2421],simde_mm256_xor_si256(c2[2620],simde_mm256_xor_si256(c2[722],simde_mm256_xor_si256(c2[1021],simde_mm256_xor_si256(c2[921],simde_mm256_xor_si256(c2[2531],simde_mm256_xor_si256(c2[2431],simde_mm256_xor_si256(c2[2630],simde_mm256_xor_si256(c2[2030],simde_mm256_xor_si256(c2[2234],simde_mm256_xor_si256(c2[2734],simde_mm256_xor_si256(c2[2933],simde_mm256_xor_si256(c2[2441],simde_mm256_xor_si256(c2[2640],simde_mm256_xor_si256(c2[142],simde_mm256_xor_si256(c2[341],simde_mm256_xor_si256(c2[3044],simde_mm256_xor_si256(c2[144],simde_mm256_xor_si256(c2[44],simde_mm256_xor_si256(c2[2451],simde_mm256_xor_si256(c2[2650],simde_mm256_xor_si256(c2[1051],simde_mm256_xor_si256(c2[1350],simde_mm256_xor_si256(c2[1250],simde_mm256_xor_si256(c2[2561],simde_mm256_xor_si256(c2[2461],simde_mm256_xor_si256(c2[2660],simde_mm256_xor_si256(c2[1664],simde_mm256_xor_si256(c2[1863],simde_mm256_xor_si256(c2[462],simde_mm256_xor_si256(c2[761],simde_mm256_xor_si256(c2[661],simde_mm256_xor_si256(c2[1064],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[2670],simde_mm256_xor_si256(c2[1773],simde_mm256_xor_si256(c2[2072],simde_mm256_xor_si256(c2[1972],simde_mm256_xor_si256(c2[2481],simde_mm256_xor_si256(c2[2680],simde_mm256_xor_si256(c2[480],simde_mm256_xor_si256(c2[684],simde_mm256_xor_si256(c2[1383],simde_mm256_xor_si256(c2[1682],simde_mm256_xor_si256(c2[1582],simde_mm256_xor_si256(c2[2591],simde_mm256_xor_si256(c2[2491],simde_mm256_xor_si256(c2[2690],simde_mm256_xor_si256(c2[1593],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[693],simde_mm256_xor_si256(c2[992],c2[892])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[75]=simde_mm256_xor_si256(c2[802],simde_mm256_xor_si256(c2[303],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[1701],simde_mm256_xor_si256(c2[1102],simde_mm256_xor_si256(c2[2802],simde_mm256_xor_si256(c2[2203],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[812],simde_mm256_xor_si256(c2[313],simde_mm256_xor_si256(c2[213],simde_mm256_xor_si256(c2[610],simde_mm256_xor_si256(c2[11],simde_mm256_xor_si256(c2[1413],simde_mm256_xor_si256(c2[814],simde_mm256_xor_si256(c2[822],simde_mm256_xor_si256(c2[323],simde_mm256_xor_si256(c2[223],simde_mm256_xor_si256(c2[2322],simde_mm256_xor_si256(c2[1723],simde_mm256_xor_si256(c2[832],simde_mm256_xor_si256(c2[333],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[431],simde_mm256_xor_si256(c2[3031],simde_mm256_xor_si256(c2[1130],simde_mm256_xor_si256(c2[531],simde_mm256_xor_si256(c2[842],simde_mm256_xor_si256(c2[243],simde_mm256_xor_si256(c2[1742],simde_mm256_xor_si256(c2[1143],simde_mm256_xor_si256(c2[1440],simde_mm256_xor_si256(c2[841],simde_mm256_xor_si256(c2[852],simde_mm256_xor_si256(c2[253],simde_mm256_xor_si256(c2[2651],simde_mm256_xor_si256(c2[2052],simde_mm256_xor_si256(c2[862],simde_mm256_xor_si256(c2[363],simde_mm256_xor_si256(c2[263],simde_mm256_xor_si256(c2[60],simde_mm256_xor_si256(c2[2660],simde_mm256_xor_si256(c2[2062],simde_mm256_xor_si256(c2[1463],simde_mm256_xor_si256(c2[872],simde_mm256_xor_si256(c2[273],simde_mm256_xor_si256(c2[174],simde_mm256_xor_si256(c2[2774],simde_mm256_xor_si256(c2[882],simde_mm256_xor_si256(c2[283],simde_mm256_xor_si256(c2[2080],simde_mm256_xor_si256(c2[1481],simde_mm256_xor_si256(c2[2983],simde_mm256_xor_si256(c2[2384],simde_mm256_xor_si256(c2[892],simde_mm256_xor_si256(c2[393],simde_mm256_xor_si256(c2[293],simde_mm256_xor_si256(c2[3193],simde_mm256_xor_si256(c2[2594],simde_mm256_xor_si256(c2[2293],c2[1694]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[80]=simde_mm256_xor_si256(c2[1503],simde_mm256_xor_si256(c2[1403],simde_mm256_xor_si256(c2[1504],simde_mm256_xor_si256(c2[1404],simde_mm256_xor_si256(c2[2302],simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[2303],simde_mm256_xor_si256(c2[204],simde_mm256_xor_si256(c2[200],simde_mm256_xor_si256(c2[1513],simde_mm256_xor_si256(c2[1413],simde_mm256_xor_si256(c2[1514],simde_mm256_xor_si256(c2[1414],simde_mm256_xor_si256(c2[1211],simde_mm256_xor_si256(c2[1212],simde_mm256_xor_si256(c2[2014],simde_mm256_xor_si256(c2[2010],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[1523],simde_mm256_xor_si256(c2[1423],simde_mm256_xor_si256(c2[1524],simde_mm256_xor_si256(c2[1424],simde_mm256_xor_si256(c2[2923],simde_mm256_xor_si256(c2[2924],simde_mm256_xor_si256(c2[1533],simde_mm256_xor_si256(c2[1433],simde_mm256_xor_si256(c2[1534],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[1032],simde_mm256_xor_si256(c2[1133],simde_mm256_xor_si256(c2[1033],simde_mm256_xor_si256(c2[1731],simde_mm256_xor_si256(c2[1732],simde_mm256_xor_si256(c2[1443],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[1444],simde_mm256_xor_si256(c2[2343],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[2041],simde_mm256_xor_si256(c2[2042],simde_mm256_xor_si256(c2[1453],simde_mm256_xor_si256(c2[1554],simde_mm256_xor_si256(c2[1454],simde_mm256_xor_si256(c2[53],simde_mm256_xor_si256(c2[54],simde_mm256_xor_si256(c2[1563],simde_mm256_xor_si256(c2[1463],simde_mm256_xor_si256(c2[1564],simde_mm256_xor_si256(c2[1464],simde_mm256_xor_si256(c2[661],simde_mm256_xor_si256(c2[762],simde_mm256_xor_si256(c2[662],simde_mm256_xor_si256(c2[2663],simde_mm256_xor_si256(c2[2664],simde_mm256_xor_si256(c2[1473],simde_mm256_xor_si256(c2[1574],simde_mm256_xor_si256(c2[1474],simde_mm256_xor_si256(c2[770],simde_mm256_xor_si256(c2[771],simde_mm256_xor_si256(c2[1483],simde_mm256_xor_si256(c2[1584],simde_mm256_xor_si256(c2[1484],simde_mm256_xor_si256(c2[2681],simde_mm256_xor_si256(c2[2682],simde_mm256_xor_si256(c2[380],simde_mm256_xor_si256(c2[381],simde_mm256_xor_si256(c2[1593],simde_mm256_xor_si256(c2[1493],simde_mm256_xor_si256(c2[1594],simde_mm256_xor_si256(c2[1494],simde_mm256_xor_si256(c2[590],simde_mm256_xor_si256(c2[691],simde_mm256_xor_si256(c2[591],simde_mm256_xor_si256(c2[2894],simde_mm256_xor_si256(c2[2890],c2[1592])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[85]=simde_mm256_xor_si256(c2[1303],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[1800],simde_mm256_xor_si256(c2[1700],simde_mm256_xor_si256(c2[2102],simde_mm256_xor_si256(c2[2704],simde_mm256_xor_si256(c2[2604],simde_mm256_xor_si256(c2[4],simde_mm256_xor_si256(c2[501],simde_mm256_xor_si256(c2[1313],simde_mm256_xor_si256(c2[1213],simde_mm256_xor_si256(c2[1810],simde_mm256_xor_si256(c2[1710],simde_mm256_xor_si256(c2[1011],simde_mm256_xor_si256(c2[1513],simde_mm256_xor_si256(c2[1814],simde_mm256_xor_si256(c2[2311],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[1323],simde_mm256_xor_si256(c2[1223],simde_mm256_xor_si256(c2[1820],simde_mm256_xor_si256(c2[1720],simde_mm256_xor_si256(c2[2723],simde_mm256_xor_si256(c2[21],simde_mm256_xor_si256(c2[1333],simde_mm256_xor_si256(c2[1233],simde_mm256_xor_si256(c2[1830],simde_mm256_xor_si256(c2[1730],simde_mm256_xor_si256(c2[832],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[1334],simde_mm256_xor_si256(c2[1531],simde_mm256_xor_si256(c2[2033],simde_mm256_xor_si256(c2[1243],simde_mm256_xor_si256(c2[1840],simde_mm256_xor_si256(c2[1740],simde_mm256_xor_si256(c2[2143],simde_mm256_xor_si256(c2[2640],simde_mm256_xor_si256(c2[1841],simde_mm256_xor_si256(c2[2343],simde_mm256_xor_si256(c2[1253],simde_mm256_xor_si256(c2[1850],simde_mm256_xor_si256(c2[1750],simde_mm256_xor_si256(c2[3052],simde_mm256_xor_si256(c2[350],simde_mm256_xor_si256(c2[2450],simde_mm256_xor_si256(c2[1363],simde_mm256_xor_si256(c2[1263],simde_mm256_xor_si256(c2[1860],simde_mm256_xor_si256(c2[1760],simde_mm256_xor_si256(c2[461],simde_mm256_xor_si256(c2[1063],simde_mm256_xor_si256(c2[963],simde_mm256_xor_si256(c2[2463],simde_mm256_xor_si256(c2[2960],simde_mm256_xor_si256(c2[1273],simde_mm256_xor_si256(c2[1870],simde_mm256_xor_si256(c2[1770],simde_mm256_xor_si256(c2[570],simde_mm256_xor_si256(c2[1072],simde_mm256_xor_si256(c2[1283],simde_mm256_xor_si256(c2[1880],simde_mm256_xor_si256(c2[1780],simde_mm256_xor_si256(c2[2481],simde_mm256_xor_si256(c2[2983],simde_mm256_xor_si256(c2[180],simde_mm256_xor_si256(c2[682],simde_mm256_xor_si256(c2[1393],simde_mm256_xor_si256(c2[1293],simde_mm256_xor_si256(c2[1890],simde_mm256_xor_si256(c2[1790],simde_mm256_xor_si256(c2[390],simde_mm256_xor_si256(c2[992],simde_mm256_xor_si256(c2[892],simde_mm256_xor_si256(c2[2694],c2[3191])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[90]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[1860],c2[2272]));
|
|
|
|
//row: 19
|
|
d2[95]=simde_mm256_xor_si256(c2[2504],simde_mm256_xor_si256(c2[204],simde_mm256_xor_si256(c2[1300],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2514],simde_mm256_xor_si256(c2[2312],simde_mm256_xor_si256(c2[3110],simde_mm256_xor_si256(c2[3014],simde_mm256_xor_si256(c2[2524],simde_mm256_xor_si256(c2[820],simde_mm256_xor_si256(c2[2534],simde_mm256_xor_si256(c2[2133],simde_mm256_xor_si256(c2[2832],simde_mm256_xor_si256(c2[2544],simde_mm256_xor_si256(c2[240],simde_mm256_xor_si256(c2[3142],simde_mm256_xor_si256(c2[2554],simde_mm256_xor_si256(c2[1154],simde_mm256_xor_si256(c2[2564],simde_mm256_xor_si256(c2[1762],simde_mm256_xor_si256(c2[560],simde_mm256_xor_si256(c2[2574],simde_mm256_xor_si256(c2[1871],simde_mm256_xor_si256(c2[2584],simde_mm256_xor_si256(c2[583],simde_mm256_xor_si256(c2[1481],simde_mm256_xor_si256(c2[2594],simde_mm256_xor_si256(c2[1691],c2[791]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[100]=simde_mm256_xor_si256(c2[803],simde_mm256_xor_si256(c2[703],simde_mm256_xor_si256(c2[1602],simde_mm256_xor_si256(c2[2703],simde_mm256_xor_si256(c2[813],simde_mm256_xor_si256(c2[713],simde_mm256_xor_si256(c2[511],simde_mm256_xor_si256(c2[1314],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[823],simde_mm256_xor_si256(c2[723],simde_mm256_xor_si256(c2[2223],simde_mm256_xor_si256(c2[833],simde_mm256_xor_si256(c2[733],simde_mm256_xor_si256(c2[332],simde_mm256_xor_si256(c2[1031],simde_mm256_xor_si256(c2[743],simde_mm256_xor_si256(c2[1643],simde_mm256_xor_si256(c2[1341],simde_mm256_xor_si256(c2[2044],simde_mm256_xor_si256(c2[753],simde_mm256_xor_si256(c2[2552],simde_mm256_xor_si256(c2[863],simde_mm256_xor_si256(c2[763],simde_mm256_xor_si256(c2[3160],simde_mm256_xor_si256(c2[1963],simde_mm256_xor_si256(c2[773],simde_mm256_xor_si256(c2[70],simde_mm256_xor_si256(c2[783],simde_mm256_xor_si256(c2[1981],simde_mm256_xor_si256(c2[2884],simde_mm256_xor_si256(c2[893],simde_mm256_xor_si256(c2[793],simde_mm256_xor_si256(c2[3094],c2[2194]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[105]=simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[900],simde_mm256_xor_si256(c2[2001],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[11],simde_mm256_xor_si256(c2[3013],simde_mm256_xor_si256(c2[712],simde_mm256_xor_si256(c2[612],simde_mm256_xor_si256(c2[21],simde_mm256_xor_si256(c2[1621],simde_mm256_xor_si256(c2[1521],simde_mm256_xor_si256(c2[31],simde_mm256_xor_si256(c2[2834],simde_mm256_xor_si256(c2[334],simde_mm256_xor_si256(c2[41],simde_mm256_xor_si256(c2[941],simde_mm256_xor_si256(c2[744],simde_mm256_xor_si256(c2[644],simde_mm256_xor_si256(c2[51],simde_mm256_xor_si256(c2[1950],simde_mm256_xor_si256(c2[1850],simde_mm256_xor_si256(c2[61],simde_mm256_xor_si256(c2[2463],simde_mm256_xor_si256(c2[1361],simde_mm256_xor_si256(c2[1261],simde_mm256_xor_si256(c2[71],simde_mm256_xor_si256(c2[2672],simde_mm256_xor_si256(c2[2572],simde_mm256_xor_si256(c2[81],simde_mm256_xor_si256(c2[1284],simde_mm256_xor_si256(c2[2282],simde_mm256_xor_si256(c2[2182],simde_mm256_xor_si256(c2[1780],simde_mm256_xor_si256(c2[91],simde_mm256_xor_si256(c2[2392],simde_mm256_xor_si256(c2[1592],c2[1492]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[110]=simde_mm256_xor_si256(c2[10],c2[420]);
|
|
|
|
//row: 23
|
|
d2[115]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[1132],c2[3054]));
|
|
|
|
//row: 24
|
|
d2[120]=simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[522],c2[2392]));
|
|
|
|
//row: 25
|
|
d2[125]=simde_mm256_xor_si256(c2[0],c2[152]);
|
|
|
|
//row: 26
|
|
d2[130]=simde_mm256_xor_si256(c2[1300],simde_mm256_xor_si256(c2[1200],simde_mm256_xor_si256(c2[600],simde_mm256_xor_si256(c2[2204],simde_mm256_xor_si256(c2[2104],simde_mm256_xor_si256(c2[1504],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[2600],simde_mm256_xor_si256(c2[1310],simde_mm256_xor_si256(c2[1210],simde_mm256_xor_si256(c2[610],simde_mm256_xor_si256(c2[1013],simde_mm256_xor_si256(c2[413],simde_mm256_xor_si256(c2[1811],simde_mm256_xor_si256(c2[1311],simde_mm256_xor_si256(c2[1211],simde_mm256_xor_si256(c2[1320],simde_mm256_xor_si256(c2[1220],simde_mm256_xor_si256(c2[620],simde_mm256_xor_si256(c2[2720],simde_mm256_xor_si256(c2[2220],simde_mm256_xor_si256(c2[2120],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[1330],simde_mm256_xor_si256(c2[1230],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[934],simde_mm256_xor_si256(c2[834],simde_mm256_xor_si256(c2[234],simde_mm256_xor_si256(c2[1533],simde_mm256_xor_si256(c2[933],simde_mm256_xor_si256(c2[1340],simde_mm256_xor_si256(c2[1240],simde_mm256_xor_si256(c2[640],simde_mm256_xor_si256(c2[2140],simde_mm256_xor_si256(c2[1540],simde_mm256_xor_si256(c2[1843],simde_mm256_xor_si256(c2[1343],simde_mm256_xor_si256(c2[1243],simde_mm256_xor_si256(c2[1350],simde_mm256_xor_si256(c2[1250],simde_mm256_xor_si256(c2[650],simde_mm256_xor_si256(c2[3054],simde_mm256_xor_si256(c2[2554],simde_mm256_xor_si256(c2[2454],simde_mm256_xor_si256(c2[1360],simde_mm256_xor_si256(c2[1260],simde_mm256_xor_si256(c2[660],simde_mm256_xor_si256(c2[563],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[3062],simde_mm256_xor_si256(c2[2460],simde_mm256_xor_si256(c2[1960],simde_mm256_xor_si256(c2[1860],simde_mm256_xor_si256(c2[1370],simde_mm256_xor_si256(c2[1270],simde_mm256_xor_si256(c2[670],simde_mm256_xor_si256(c2[572],simde_mm256_xor_si256(c2[72],simde_mm256_xor_si256(c2[3171],simde_mm256_xor_si256(c2[473],simde_mm256_xor_si256(c2[1380],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[680],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[1883],simde_mm256_xor_si256(c2[182],simde_mm256_xor_si256(c2[2881],simde_mm256_xor_si256(c2[2781],simde_mm256_xor_si256(c2[1390],simde_mm256_xor_si256(c2[1290],simde_mm256_xor_si256(c2[690],simde_mm256_xor_si256(c2[492],simde_mm256_xor_si256(c2[392],simde_mm256_xor_si256(c2[2991],simde_mm256_xor_si256(c2[2691],simde_mm256_xor_si256(c2[2191],c2[2091])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[135]=simde_mm256_xor_si256(c2[0],c2[61]);
|
|
|
|
//row: 28
|
|
d2[140]=simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[3023],c2[1453]));
|
|
|
|
//row: 29
|
|
d2[145]=simde_mm256_xor_si256(c2[0],c2[2644]);
|
|
|
|
//row: 30
|
|
d2[150]=simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[351],simde_mm256_xor_si256(c2[1971],c2[694])));
|
|
|
|
//row: 31
|
|
d2[155]=simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[2804],simde_mm256_xor_si256(c2[701],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[1713],simde_mm256_xor_si256(c2[2611],simde_mm256_xor_si256(c2[2511],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[321],simde_mm256_xor_si256(c2[221],simde_mm256_xor_si256(c2[1930],simde_mm256_xor_si256(c2[1534],simde_mm256_xor_si256(c2[2233],simde_mm256_xor_si256(c2[1940],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[2643],simde_mm256_xor_si256(c2[2543],simde_mm256_xor_si256(c2[1950],simde_mm256_xor_si256(c2[650],simde_mm256_xor_si256(c2[550],simde_mm256_xor_si256(c2[1960],simde_mm256_xor_si256(c2[1163],simde_mm256_xor_si256(c2[61],simde_mm256_xor_si256(c2[3160],simde_mm256_xor_si256(c2[1970],simde_mm256_xor_si256(c2[1372],simde_mm256_xor_si256(c2[1272],simde_mm256_xor_si256(c2[1980],simde_mm256_xor_si256(c2[3183],simde_mm256_xor_si256(c2[982],simde_mm256_xor_si256(c2[882],simde_mm256_xor_si256(c2[1990],simde_mm256_xor_si256(c2[1092],simde_mm256_xor_si256(c2[292],c2[192])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[160]=simde_mm256_xor_si256(c2[2603],simde_mm256_xor_si256(c2[2503],simde_mm256_xor_si256(c2[303],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[1304],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2613],simde_mm256_xor_si256(c2[2513],simde_mm256_xor_si256(c2[2311],simde_mm256_xor_si256(c2[3114],simde_mm256_xor_si256(c2[2623],simde_mm256_xor_si256(c2[2523],simde_mm256_xor_si256(c2[824],simde_mm256_xor_si256(c2[2633],simde_mm256_xor_si256(c2[2533],simde_mm256_xor_si256(c2[2232],simde_mm256_xor_si256(c2[2132],simde_mm256_xor_si256(c2[2831],simde_mm256_xor_si256(c2[2643],simde_mm256_xor_si256(c2[2543],simde_mm256_xor_si256(c2[244],simde_mm256_xor_si256(c2[3141],simde_mm256_xor_si256(c2[2653],simde_mm256_xor_si256(c2[2553],simde_mm256_xor_si256(c2[1153],simde_mm256_xor_si256(c2[2050],simde_mm256_xor_si256(c2[2663],simde_mm256_xor_si256(c2[2563],simde_mm256_xor_si256(c2[1861],simde_mm256_xor_si256(c2[1761],simde_mm256_xor_si256(c2[564],simde_mm256_xor_si256(c2[2673],simde_mm256_xor_si256(c2[2573],simde_mm256_xor_si256(c2[1870],simde_mm256_xor_si256(c2[2683],simde_mm256_xor_si256(c2[2583],simde_mm256_xor_si256(c2[582],simde_mm256_xor_si256(c2[1480],simde_mm256_xor_si256(c2[2693],simde_mm256_xor_si256(c2[2593],simde_mm256_xor_si256(c2[1790],simde_mm256_xor_si256(c2[1690],c2[790]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[165]=simde_mm256_xor_si256(c2[1200],simde_mm256_xor_si256(c2[2104],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[1210],simde_mm256_xor_si256(c2[1013],simde_mm256_xor_si256(c2[1811],simde_mm256_xor_si256(c2[1220],simde_mm256_xor_si256(c2[2720],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[1230],simde_mm256_xor_si256(c2[834],simde_mm256_xor_si256(c2[1533],simde_mm256_xor_si256(c2[1240],simde_mm256_xor_si256(c2[2140],simde_mm256_xor_si256(c2[1843],simde_mm256_xor_si256(c2[1250],simde_mm256_xor_si256(c2[3054],simde_mm256_xor_si256(c2[1260],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[2460],simde_mm256_xor_si256(c2[1270],simde_mm256_xor_si256(c2[572],simde_mm256_xor_si256(c2[2472],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[182],simde_mm256_xor_si256(c2[1290],simde_mm256_xor_si256(c2[392],c2[2691]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[170]=simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[1800],simde_mm256_xor_si256(c2[1302],simde_mm256_xor_si256(c2[2804],simde_mm256_xor_si256(c2[2704],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[601],simde_mm256_xor_si256(c2[103],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[1810],simde_mm256_xor_si256(c2[1312],simde_mm256_xor_si256(c2[1613],simde_mm256_xor_si256(c2[1110],simde_mm256_xor_si256(c2[2411],simde_mm256_xor_si256(c2[2013],simde_mm256_xor_si256(c2[1913],simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[1820],simde_mm256_xor_si256(c2[1322],simde_mm256_xor_si256(c2[121],simde_mm256_xor_si256(c2[2922],simde_mm256_xor_si256(c2[2822],simde_mm256_xor_si256(c2[1930],simde_mm256_xor_si256(c2[1830],simde_mm256_xor_si256(c2[1332],simde_mm256_xor_si256(c2[1534],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[931],simde_mm256_xor_si256(c2[2133],simde_mm256_xor_si256(c2[1630],simde_mm256_xor_si256(c2[1940],simde_mm256_xor_si256(c2[1840],simde_mm256_xor_si256(c2[1342],simde_mm256_xor_si256(c2[2740],simde_mm256_xor_si256(c2[2242],simde_mm256_xor_si256(c2[2443],simde_mm256_xor_si256(c2[2040],simde_mm256_xor_si256(c2[1940],simde_mm256_xor_si256(c2[1950],simde_mm256_xor_si256(c2[1850],simde_mm256_xor_si256(c2[1352],simde_mm256_xor_si256(c2[450],simde_mm256_xor_si256(c2[52],simde_mm256_xor_si256(c2[3151],simde_mm256_xor_si256(c2[1960],simde_mm256_xor_si256(c2[1860],simde_mm256_xor_si256(c2[1362],simde_mm256_xor_si256(c2[1163],simde_mm256_xor_si256(c2[1063],simde_mm256_xor_si256(c2[560],simde_mm256_xor_si256(c2[3060],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[1970],simde_mm256_xor_si256(c2[1870],simde_mm256_xor_si256(c2[1372],simde_mm256_xor_si256(c2[1172],simde_mm256_xor_si256(c2[774],simde_mm256_xor_si256(c2[674],simde_mm256_xor_si256(c2[1980],simde_mm256_xor_si256(c2[1880],simde_mm256_xor_si256(c2[1382],simde_mm256_xor_si256(c2[3083],simde_mm256_xor_si256(c2[2580],simde_mm256_xor_si256(c2[782],simde_mm256_xor_si256(c2[384],simde_mm256_xor_si256(c2[284],simde_mm256_xor_si256(c2[1990],simde_mm256_xor_si256(c2[1890],simde_mm256_xor_si256(c2[1392],simde_mm256_xor_si256(c2[1092],simde_mm256_xor_si256(c2[992],simde_mm256_xor_si256(c2[494],simde_mm256_xor_si256(c2[92],simde_mm256_xor_si256(c2[2893],c2[2793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[175]=simde_mm256_xor_si256(c2[600],simde_mm256_xor_si256(c2[500],simde_mm256_xor_si256(c2[1404],simde_mm256_xor_si256(c2[2500],simde_mm256_xor_si256(c2[610],simde_mm256_xor_si256(c2[510],simde_mm256_xor_si256(c2[313],simde_mm256_xor_si256(c2[1111],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[620],simde_mm256_xor_si256(c2[520],simde_mm256_xor_si256(c2[2020],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[530],simde_mm256_xor_si256(c2[134],simde_mm256_xor_si256(c2[833],simde_mm256_xor_si256(c2[540],simde_mm256_xor_si256(c2[1440],simde_mm256_xor_si256(c2[1143],simde_mm256_xor_si256(c2[550],simde_mm256_xor_si256(c2[2354],simde_mm256_xor_si256(c2[2954],simde_mm256_xor_si256(c2[660],simde_mm256_xor_si256(c2[560],simde_mm256_xor_si256(c2[2962],simde_mm256_xor_si256(c2[1760],simde_mm256_xor_si256(c2[570],simde_mm256_xor_si256(c2[3071],simde_mm256_xor_si256(c2[580],simde_mm256_xor_si256(c2[1783],simde_mm256_xor_si256(c2[2681],simde_mm256_xor_si256(c2[690],simde_mm256_xor_si256(c2[590],simde_mm256_xor_si256(c2[2891],c2[1991]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[180]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[3121],c2[1872]));
|
|
|
|
//row: 37
|
|
d2[185]=simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[1504],simde_mm256_xor_si256(c2[804],simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[300],simde_mm256_xor_si256(c2[3114],simde_mm256_xor_si256(c2[1514],simde_mm256_xor_si256(c2[2912],simde_mm256_xor_si256(c2[1312],simde_mm256_xor_si256(c2[511],simde_mm256_xor_si256(c2[2210],simde_mm256_xor_si256(c2[2110],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[1524],simde_mm256_xor_si256(c2[1420],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[3024],simde_mm256_xor_si256(c2[3134],simde_mm256_xor_si256(c2[1534],simde_mm256_xor_si256(c2[2733],simde_mm256_xor_si256(c2[1133],simde_mm256_xor_si256(c2[233],simde_mm256_xor_si256(c2[1832],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[840],simde_mm256_xor_si256(c2[2444],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[2242],simde_mm256_xor_si256(c2[2142],simde_mm256_xor_si256(c2[3154],simde_mm256_xor_si256(c2[1554],simde_mm256_xor_si256(c2[1754],simde_mm256_xor_si256(c2[254],simde_mm256_xor_si256(c2[154],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[1564],simde_mm256_xor_si256(c2[2362],simde_mm256_xor_si256(c2[762],simde_mm256_xor_si256(c2[1160],simde_mm256_xor_si256(c2[2864],simde_mm256_xor_si256(c2[2764],simde_mm256_xor_si256(c2[3174],simde_mm256_xor_si256(c2[1574],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[971],simde_mm256_xor_si256(c2[871],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[1584],simde_mm256_xor_si256(c2[1183],simde_mm256_xor_si256(c2[2782],simde_mm256_xor_si256(c2[2081],simde_mm256_xor_si256(c2[581],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[1594],simde_mm256_xor_si256(c2[2291],simde_mm256_xor_si256(c2[691],simde_mm256_xor_si256(c2[1391],simde_mm256_xor_si256(c2[3090],c2[2990])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[190]=simde_mm256_xor_si256(c2[1900],simde_mm256_xor_si256(c2[1800],simde_mm256_xor_si256(c2[2704],simde_mm256_xor_si256(c2[601],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[1810],simde_mm256_xor_si256(c2[1613],simde_mm256_xor_si256(c2[2411],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[1820],simde_mm256_xor_si256(c2[121],simde_mm256_xor_si256(c2[1930],simde_mm256_xor_si256(c2[1830],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[2133],simde_mm256_xor_si256(c2[1840],simde_mm256_xor_si256(c2[2740],simde_mm256_xor_si256(c2[2443],simde_mm256_xor_si256(c2[1850],simde_mm256_xor_si256(c2[450],simde_mm256_xor_si256(c2[2952],simde_mm256_xor_si256(c2[1960],simde_mm256_xor_si256(c2[1860],simde_mm256_xor_si256(c2[1063],simde_mm256_xor_si256(c2[3060],simde_mm256_xor_si256(c2[1870],simde_mm256_xor_si256(c2[1172],simde_mm256_xor_si256(c2[1880],simde_mm256_xor_si256(c2[3083],simde_mm256_xor_si256(c2[782],simde_mm256_xor_si256(c2[1990],simde_mm256_xor_si256(c2[1890],simde_mm256_xor_si256(c2[992],c2[92]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[195]=simde_mm256_xor_si256(c2[1004],simde_mm256_xor_si256(c2[904],simde_mm256_xor_si256(c2[1903],simde_mm256_xor_si256(c2[1803],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[1014],simde_mm256_xor_si256(c2[914],simde_mm256_xor_si256(c2[712],simde_mm256_xor_si256(c2[1510],simde_mm256_xor_si256(c2[1024],simde_mm256_xor_si256(c2[924],simde_mm256_xor_si256(c2[2424],simde_mm256_xor_si256(c2[1034],simde_mm256_xor_si256(c2[934],simde_mm256_xor_si256(c2[633],simde_mm256_xor_si256(c2[533],simde_mm256_xor_si256(c2[1232],simde_mm256_xor_si256(c2[1044],simde_mm256_xor_si256(c2[944],simde_mm256_xor_si256(c2[1844],simde_mm256_xor_si256(c2[1542],simde_mm256_xor_si256(c2[1054],simde_mm256_xor_si256(c2[954],simde_mm256_xor_si256(c2[2753],simde_mm256_xor_si256(c2[1064],simde_mm256_xor_si256(c2[964],simde_mm256_xor_si256(c2[262],simde_mm256_xor_si256(c2[162],simde_mm256_xor_si256(c2[2164],simde_mm256_xor_si256(c2[1074],simde_mm256_xor_si256(c2[974],simde_mm256_xor_si256(c2[271],simde_mm256_xor_si256(c2[2470],simde_mm256_xor_si256(c2[1084],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[2182],simde_mm256_xor_si256(c2[3080],simde_mm256_xor_si256(c2[1094],simde_mm256_xor_si256(c2[994],simde_mm256_xor_si256(c2[191],simde_mm256_xor_si256(c2[91],c2[2390]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[200]=simde_mm256_xor_si256(c2[301],simde_mm256_xor_si256(c2[1404],simde_mm256_xor_si256(c2[1200],simde_mm256_xor_si256(c2[2303],simde_mm256_xor_si256(c2[2301],simde_mm256_xor_si256(c2[200],simde_mm256_xor_si256(c2[311],simde_mm256_xor_si256(c2[1414],simde_mm256_xor_si256(c2[114],simde_mm256_xor_si256(c2[1212],simde_mm256_xor_si256(c2[912],simde_mm256_xor_si256(c2[2110],simde_mm256_xor_si256(c2[2010],simde_mm256_xor_si256(c2[321],simde_mm256_xor_si256(c2[1424],simde_mm256_xor_si256(c2[1821],simde_mm256_xor_si256(c2[3024],simde_mm256_xor_si256(c2[2924],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[331],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[3134],simde_mm256_xor_si256(c2[1033],simde_mm256_xor_si256(c2[634],simde_mm256_xor_si256(c2[1732],simde_mm256_xor_si256(c2[341],simde_mm256_xor_si256(c2[1444],simde_mm256_xor_si256(c2[1241],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[944],simde_mm256_xor_si256(c2[2142],simde_mm256_xor_si256(c2[2042],simde_mm256_xor_si256(c2[351],simde_mm256_xor_si256(c2[1454],simde_mm256_xor_si256(c2[2150],simde_mm256_xor_si256(c2[154],simde_mm256_xor_si256(c2[54],simde_mm256_xor_si256(c2[361],simde_mm256_xor_si256(c2[1464],simde_mm256_xor_si256(c2[2763],simde_mm256_xor_si256(c2[662],simde_mm256_xor_si256(c2[1561],simde_mm256_xor_si256(c2[2764],simde_mm256_xor_si256(c2[2664],simde_mm256_xor_si256(c2[371],simde_mm256_xor_si256(c2[1474],simde_mm256_xor_si256(c2[2872],simde_mm256_xor_si256(c2[871],simde_mm256_xor_si256(c2[771],simde_mm256_xor_si256(c2[381],simde_mm256_xor_si256(c2[1484],simde_mm256_xor_si256(c2[1584],simde_mm256_xor_si256(c2[2682],simde_mm256_xor_si256(c2[2482],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[381],simde_mm256_xor_si256(c2[391],simde_mm256_xor_si256(c2[1494],simde_mm256_xor_si256(c2[2692],simde_mm256_xor_si256(c2[591],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[2990],c2[2890]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[205]=simde_mm256_xor_si256(c2[2301],simde_mm256_xor_si256(c2[2201],simde_mm256_xor_si256(c2[3100],simde_mm256_xor_si256(c2[1002],simde_mm256_xor_si256(c2[2311],simde_mm256_xor_si256(c2[2211],simde_mm256_xor_si256(c2[2014],simde_mm256_xor_si256(c2[2812],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[2321],simde_mm256_xor_si256(c2[2221],simde_mm256_xor_si256(c2[522],simde_mm256_xor_si256(c2[2331],simde_mm256_xor_si256(c2[2231],simde_mm256_xor_si256(c2[1830],simde_mm256_xor_si256(c2[2534],simde_mm256_xor_si256(c2[2241],simde_mm256_xor_si256(c2[3141],simde_mm256_xor_si256(c2[2844],simde_mm256_xor_si256(c2[2251],simde_mm256_xor_si256(c2[851],simde_mm256_xor_si256(c2[250],simde_mm256_xor_si256(c2[2361],simde_mm256_xor_si256(c2[2261],simde_mm256_xor_si256(c2[1464],simde_mm256_xor_si256(c2[262],simde_mm256_xor_si256(c2[2271],simde_mm256_xor_si256(c2[1573],simde_mm256_xor_si256(c2[2281],simde_mm256_xor_si256(c2[280],simde_mm256_xor_si256(c2[1183],simde_mm256_xor_si256(c2[2391],simde_mm256_xor_si256(c2[2291],simde_mm256_xor_si256(c2[1393],c2[493]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|
|
#endif
|