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
140 lines
42 KiB
C
140 lines
42 KiB
C
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=176, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc176_byte(uint8_t *c,uint8_t *d) {
|
|
simde__m128i *csimd=(simde__m128i *)c,*dsimd=(simde__m128i *)d;
|
|
|
|
simde__m128i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<11; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm_xor_si128(c2[2429],simde_mm_xor_si128(c2[1],simde_mm_xor_si128(c2[226],simde_mm_xor_si128(c2[3110],simde_mm_xor_si128(c2[1572],simde_mm_xor_si128(c2[905],simde_mm_xor_si128(c2[2904],simde_mm_xor_si128(c2[2914],simde_mm_xor_si128(c2[506],simde_mm_xor_si128(c2[70],simde_mm_xor_si128(c2[2272],simde_mm_xor_si128(c2[3171],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[2958],simde_mm_xor_si128(c2[110],simde_mm_xor_si128(c2[3197],simde_mm_xor_si128(c2[1674],simde_mm_xor_si128(c2[1455],simde_mm_xor_si128(c2[133],simde_mm_xor_si128(c2[1036],simde_mm_xor_si128(c2[1919],simde_mm_xor_si128(c2[2386],simde_mm_xor_si128(c2[3044],simde_mm_xor_si128(c2[177],simde_mm_xor_si128(c2[2405],simde_mm_xor_si128(c2[1086],c2[1964]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[11]=simde_mm_xor_si128(c2[2649],simde_mm_xor_si128(c2[2429],simde_mm_xor_si128(c2[1],simde_mm_xor_si128(c2[226],simde_mm_xor_si128(c2[3330],simde_mm_xor_si128(c2[3110],simde_mm_xor_si128(c2[1572],simde_mm_xor_si128(c2[905],simde_mm_xor_si128(c2[3124],simde_mm_xor_si128(c2[2904],simde_mm_xor_si128(c2[2914],simde_mm_xor_si128(c2[726],simde_mm_xor_si128(c2[506],simde_mm_xor_si128(c2[70],simde_mm_xor_si128(c2[2272],simde_mm_xor_si128(c2[3171],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[2958],simde_mm_xor_si128(c2[110],simde_mm_xor_si128(c2[3197],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[1674],simde_mm_xor_si128(c2[1455],simde_mm_xor_si128(c2[133],simde_mm_xor_si128(c2[1036],simde_mm_xor_si128(c2[1919],simde_mm_xor_si128(c2[2386],simde_mm_xor_si128(c2[3044],simde_mm_xor_si128(c2[177],simde_mm_xor_si128(c2[2625],simde_mm_xor_si128(c2[2405],simde_mm_xor_si128(c2[1086],c2[1964]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[22]=simde_mm_xor_si128(c2[2649],simde_mm_xor_si128(c2[2429],simde_mm_xor_si128(c2[221],simde_mm_xor_si128(c2[1],simde_mm_xor_si128(c2[226],simde_mm_xor_si128(c2[3330],simde_mm_xor_si128(c2[3110],simde_mm_xor_si128(c2[1572],simde_mm_xor_si128(c2[905],simde_mm_xor_si128(c2[3124],simde_mm_xor_si128(c2[2904],simde_mm_xor_si128(c2[2914],simde_mm_xor_si128(c2[726],simde_mm_xor_si128(c2[506],simde_mm_xor_si128(c2[290],simde_mm_xor_si128(c2[70],simde_mm_xor_si128(c2[2272],simde_mm_xor_si128(c2[3391],simde_mm_xor_si128(c2[3171],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[2958],simde_mm_xor_si128(c2[330],simde_mm_xor_si128(c2[110],simde_mm_xor_si128(c2[3197],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[1674],simde_mm_xor_si128(c2[1675],simde_mm_xor_si128(c2[1455],simde_mm_xor_si128(c2[133],simde_mm_xor_si128(c2[1256],simde_mm_xor_si128(c2[1036],simde_mm_xor_si128(c2[1919],simde_mm_xor_si128(c2[2606],simde_mm_xor_si128(c2[2386],simde_mm_xor_si128(c2[3044],simde_mm_xor_si128(c2[177],simde_mm_xor_si128(c2[2625],simde_mm_xor_si128(c2[2405],simde_mm_xor_si128(c2[1306],simde_mm_xor_si128(c2[1086],c2[1964]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[33]=simde_mm_xor_si128(c2[2429],simde_mm_xor_si128(c2[1],simde_mm_xor_si128(c2[226],simde_mm_xor_si128(c2[3110],simde_mm_xor_si128(c2[1572],simde_mm_xor_si128(c2[1125],simde_mm_xor_si128(c2[905],simde_mm_xor_si128(c2[2904],simde_mm_xor_si128(c2[3134],simde_mm_xor_si128(c2[2914],simde_mm_xor_si128(c2[506],simde_mm_xor_si128(c2[70],simde_mm_xor_si128(c2[2272],simde_mm_xor_si128(c2[3171],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[3178],simde_mm_xor_si128(c2[2958],simde_mm_xor_si128(c2[110],simde_mm_xor_si128(c2[3417],simde_mm_xor_si128(c2[3197],simde_mm_xor_si128(c2[1674],simde_mm_xor_si128(c2[1455],simde_mm_xor_si128(c2[353],simde_mm_xor_si128(c2[133],simde_mm_xor_si128(c2[1036],simde_mm_xor_si128(c2[2139],simde_mm_xor_si128(c2[1919],simde_mm_xor_si128(c2[2386],simde_mm_xor_si128(c2[3044],simde_mm_xor_si128(c2[397],simde_mm_xor_si128(c2[177],simde_mm_xor_si128(c2[2405],simde_mm_xor_si128(c2[1086],simde_mm_xor_si128(c2[2184],c2[1964]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[44]=simde_mm_xor_si128(c2[3303],simde_mm_xor_si128(c2[3083],simde_mm_xor_si128(c2[666],simde_mm_xor_si128(c2[880],simde_mm_xor_si128(c2[1325],simde_mm_xor_si128(c2[465],simde_mm_xor_si128(c2[245],simde_mm_xor_si128(c2[2226],simde_mm_xor_si128(c2[1570],simde_mm_xor_si128(c2[686],simde_mm_xor_si128(c2[270],simde_mm_xor_si128(c2[50],simde_mm_xor_si128(c2[49],simde_mm_xor_si128(c2[1391],simde_mm_xor_si128(c2[1171],simde_mm_xor_si128(c2[735],simde_mm_xor_si128(c2[2926],simde_mm_xor_si128(c2[317],simde_mm_xor_si128(c2[978],simde_mm_xor_si128(c2[93],simde_mm_xor_si128(c2[775],simde_mm_xor_si128(c2[332],simde_mm_xor_si128(c2[2559],simde_mm_xor_si128(c2[2339],simde_mm_xor_si128(c2[2120],simde_mm_xor_si128(c2[798],simde_mm_xor_si128(c2[1701],simde_mm_xor_si128(c2[2584],simde_mm_xor_si128(c2[3040],simde_mm_xor_si128(c2[179],simde_mm_xor_si128(c2[842],simde_mm_xor_si128(c2[3279],simde_mm_xor_si128(c2[3059],simde_mm_xor_si128(c2[1740],c2[2618]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[55]=simde_mm_xor_si128(c2[1762],simde_mm_xor_si128(c2[1542],simde_mm_xor_si128(c2[2644],simde_mm_xor_si128(c2[2869],simde_mm_xor_si128(c2[3304],simde_mm_xor_si128(c2[2443],simde_mm_xor_si128(c2[2223],simde_mm_xor_si128(c2[685],simde_mm_xor_si128(c2[29],simde_mm_xor_si128(c2[907],simde_mm_xor_si128(c2[2248],simde_mm_xor_si128(c2[2028],simde_mm_xor_si128(c2[2027],simde_mm_xor_si128(c2[3369],simde_mm_xor_si128(c2[3149],simde_mm_xor_si128(c2[2713],simde_mm_xor_si128(c2[1396],simde_mm_xor_si128(c2[2295],simde_mm_xor_si128(c2[2956],simde_mm_xor_si128(c2[2071],simde_mm_xor_si128(c2[2753],simde_mm_xor_si128(c2[2310],simde_mm_xor_si128(c2[772],simde_mm_xor_si128(c2[1018],simde_mm_xor_si128(c2[798],simde_mm_xor_si128(c2[579],simde_mm_xor_si128(c2[2776],simde_mm_xor_si128(c2[160],simde_mm_xor_si128(c2[1043],simde_mm_xor_si128(c2[1700],simde_mm_xor_si128(c2[1499],simde_mm_xor_si128(c2[2157],simde_mm_xor_si128(c2[2820],simde_mm_xor_si128(c2[1738],simde_mm_xor_si128(c2[1518],simde_mm_xor_si128(c2[199],c2[1088]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[66]=simde_mm_xor_si128(c2[1980],simde_mm_xor_si128(c2[1760],simde_mm_xor_si128(c2[2862],simde_mm_xor_si128(c2[3087],simde_mm_xor_si128(c2[3302],simde_mm_xor_si128(c2[2672],simde_mm_xor_si128(c2[2452],simde_mm_xor_si128(c2[903],simde_mm_xor_si128(c2[247],simde_mm_xor_si128(c2[2466],simde_mm_xor_si128(c2[2246],simde_mm_xor_si128(c2[2245],simde_mm_xor_si128(c2[68],simde_mm_xor_si128(c2[3367],simde_mm_xor_si128(c2[2931],simde_mm_xor_si128(c2[1614],simde_mm_xor_si128(c2[2513],simde_mm_xor_si128(c2[3174],simde_mm_xor_si128(c2[2289],simde_mm_xor_si128(c2[2971],simde_mm_xor_si128(c2[2539],simde_mm_xor_si128(c2[2319],simde_mm_xor_si128(c2[1236],simde_mm_xor_si128(c2[1016],simde_mm_xor_si128(c2[797],simde_mm_xor_si128(c2[2994],simde_mm_xor_si128(c2[378],simde_mm_xor_si128(c2[1261],simde_mm_xor_si128(c2[2354],simde_mm_xor_si128(c2[1717],simde_mm_xor_si128(c2[2386],simde_mm_xor_si128(c2[3038],simde_mm_xor_si128(c2[1967],simde_mm_xor_si128(c2[1747],simde_mm_xor_si128(c2[428],simde_mm_xor_si128(c2[1306],c2[2627]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[77]=simde_mm_xor_si128(c2[2421],simde_mm_xor_si128(c2[2201],simde_mm_xor_si128(c2[442],simde_mm_xor_si128(c2[3303],simde_mm_xor_si128(c2[1544],simde_mm_xor_si128(c2[9],simde_mm_xor_si128(c2[1769],simde_mm_xor_si128(c2[3102],simde_mm_xor_si128(c2[2882],simde_mm_xor_si128(c2[1123],simde_mm_xor_si128(c2[1344],simde_mm_xor_si128(c2[3104],simde_mm_xor_si128(c2[688],simde_mm_xor_si128(c2[2668],simde_mm_xor_si128(c2[2448],simde_mm_xor_si128(c2[25],simde_mm_xor_si128(c2[2907],simde_mm_xor_si128(c2[2687],simde_mm_xor_si128(c2[928],simde_mm_xor_si128(c2[2686],simde_mm_xor_si128(c2[1147],simde_mm_xor_si128(c2[927],simde_mm_xor_si128(c2[509],simde_mm_xor_si128(c2[289],simde_mm_xor_si128(c2[2049],simde_mm_xor_si128(c2[3372],simde_mm_xor_si128(c2[1613],simde_mm_xor_si128(c2[2055],simde_mm_xor_si128(c2[296],simde_mm_xor_si128(c2[2954],simde_mm_xor_si128(c2[1195],simde_mm_xor_si128(c2[96],simde_mm_xor_si128(c2[1856],simde_mm_xor_si128(c2[2730],simde_mm_xor_si128(c2[1191],simde_mm_xor_si128(c2[971],simde_mm_xor_si128(c2[3412],simde_mm_xor_si128(c2[1653],simde_mm_xor_si128(c2[2980],simde_mm_xor_si128(c2[1430],simde_mm_xor_si128(c2[1210],simde_mm_xor_si128(c2[2977],simde_mm_xor_si128(c2[1677],simde_mm_xor_si128(c2[1457],simde_mm_xor_si128(c2[3217],simde_mm_xor_si128(c2[1238],simde_mm_xor_si128(c2[2998],simde_mm_xor_si128(c2[3435],simde_mm_xor_si128(c2[1896],simde_mm_xor_si128(c2[1676],simde_mm_xor_si128(c2[819],simde_mm_xor_si128(c2[2579],simde_mm_xor_si128(c2[1702],simde_mm_xor_si128(c2[163],simde_mm_xor_si128(c2[3462],simde_mm_xor_si128(c2[1915],simde_mm_xor_si128(c2[2158],simde_mm_xor_si128(c2[399],simde_mm_xor_si128(c2[2816],simde_mm_xor_si128(c2[1057],simde_mm_xor_si128(c2[3479],simde_mm_xor_si128(c2[1940],simde_mm_xor_si128(c2[1720],simde_mm_xor_si128(c2[2408],simde_mm_xor_si128(c2[2188],simde_mm_xor_si128(c2[418],simde_mm_xor_si128(c2[858],simde_mm_xor_si128(c2[2618],simde_mm_xor_si128(c2[1747],simde_mm_xor_si128(c2[208],c2[3507]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[88]=simde_mm_xor_si128(c2[2868],simde_mm_xor_si128(c2[2648],simde_mm_xor_si128(c2[440],simde_mm_xor_si128(c2[220],simde_mm_xor_si128(c2[445],simde_mm_xor_si128(c2[1103],simde_mm_xor_si128(c2[30],simde_mm_xor_si128(c2[3329],simde_mm_xor_si128(c2[1791],simde_mm_xor_si128(c2[1124],simde_mm_xor_si128(c2[3323],simde_mm_xor_si128(c2[3354],simde_mm_xor_si128(c2[3134],simde_mm_xor_si128(c2[3133],simde_mm_xor_si128(c2[956],simde_mm_xor_si128(c2[736],simde_mm_xor_si128(c2[509],simde_mm_xor_si128(c2[289],simde_mm_xor_si128(c2[2491],simde_mm_xor_si128(c2[91],simde_mm_xor_si128(c2[3390],simde_mm_xor_si128(c2[532],simde_mm_xor_si128(c2[3177],simde_mm_xor_si128(c2[560],simde_mm_xor_si128(c2[340],simde_mm_xor_si128(c2[3416],simde_mm_xor_si128(c2[2113],simde_mm_xor_si128(c2[1893],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[1674],simde_mm_xor_si128(c2[352],simde_mm_xor_si128(c2[1475],simde_mm_xor_si128(c2[1255],simde_mm_xor_si128(c2[2138],simde_mm_xor_si128(c2[2825],simde_mm_xor_si128(c2[2605],simde_mm_xor_si128(c2[3263],simde_mm_xor_si128(c2[396],simde_mm_xor_si128(c2[2844],simde_mm_xor_si128(c2[2624],simde_mm_xor_si128(c2[1525],simde_mm_xor_si128(c2[1305],c2[2183]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[99]=simde_mm_xor_si128(c2[3084],simde_mm_xor_si128(c2[2642],simde_mm_xor_si128(c2[2422],simde_mm_xor_si128(c2[667],simde_mm_xor_si128(c2[5],simde_mm_xor_si128(c2[881],simde_mm_xor_si128(c2[230],simde_mm_xor_si128(c2[246],simde_mm_xor_si128(c2[3323],simde_mm_xor_si128(c2[3103],simde_mm_xor_si128(c2[2227],simde_mm_xor_si128(c2[1565],simde_mm_xor_si128(c2[1571],simde_mm_xor_si128(c2[909],simde_mm_xor_si128(c2[1788],simde_mm_xor_si128(c2[51],simde_mm_xor_si128(c2[3128],simde_mm_xor_si128(c2[2908],simde_mm_xor_si128(c2[50],simde_mm_xor_si128(c2[2907],simde_mm_xor_si128(c2[1172],simde_mm_xor_si128(c2[730],simde_mm_xor_si128(c2[510],simde_mm_xor_si128(c2[736],simde_mm_xor_si128(c2[74],simde_mm_xor_si128(c2[2927],simde_mm_xor_si128(c2[2276],simde_mm_xor_si128(c2[318],simde_mm_xor_si128(c2[3175],simde_mm_xor_si128(c2[968],simde_mm_xor_si128(c2[317],simde_mm_xor_si128(c2[94],simde_mm_xor_si128(c2[2951],simde_mm_xor_si128(c2[776],simde_mm_xor_si128(c2[114],simde_mm_xor_si128(c2[333],simde_mm_xor_si128(c2[3190],simde_mm_xor_si128(c2[2340],simde_mm_xor_si128(c2[1898],simde_mm_xor_si128(c2[1678],simde_mm_xor_si128(c2[2121],simde_mm_xor_si128(c2[1459],simde_mm_xor_si128(c2[799],simde_mm_xor_si128(c2[137],simde_mm_xor_si128(c2[1702],simde_mm_xor_si128(c2[1040],simde_mm_xor_si128(c2[2574],simde_mm_xor_si128(c2[1923],simde_mm_xor_si128(c2[3041],simde_mm_xor_si128(c2[2379],simde_mm_xor_si128(c2[180],simde_mm_xor_si128(c2[3037],simde_mm_xor_si128(c2[843],simde_mm_xor_si128(c2[181],simde_mm_xor_si128(c2[3264],simde_mm_xor_si128(c2[3060],simde_mm_xor_si128(c2[2618],simde_mm_xor_si128(c2[2398],simde_mm_xor_si128(c2[1741],simde_mm_xor_si128(c2[1079],simde_mm_xor_si128(c2[2619],c2[1968])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[110]=simde_mm_xor_si128(c2[3306],simde_mm_xor_si128(c2[2003],simde_mm_xor_si128(c2[3222],c2[1695])));
|
|
|
|
//row: 11
|
|
d2[121]=simde_mm_xor_si128(c2[1767],simde_mm_xor_si128(c2[2869],simde_mm_xor_si128(c2[3083],simde_mm_xor_si128(c2[2425],simde_mm_xor_si128(c2[2448],simde_mm_xor_si128(c2[910],simde_mm_xor_si128(c2[463],simde_mm_xor_si128(c2[243],simde_mm_xor_si128(c2[2253],simde_mm_xor_si128(c2[2472],simde_mm_xor_si128(c2[2252],simde_mm_xor_si128(c2[3374],simde_mm_xor_si128(c2[2927],simde_mm_xor_si128(c2[1610],simde_mm_xor_si128(c2[2509],simde_mm_xor_si128(c2[3170],simde_mm_xor_si128(c2[2516],simde_mm_xor_si128(c2[2296],simde_mm_xor_si128(c2[2978],simde_mm_xor_si128(c2[2755],simde_mm_xor_si128(c2[2535],simde_mm_xor_si128(c2[1012],simde_mm_xor_si128(c2[793],simde_mm_xor_si128(c2[3221],simde_mm_xor_si128(c2[3001],simde_mm_xor_si128(c2[374],simde_mm_xor_si128(c2[1477],simde_mm_xor_si128(c2[1257],simde_mm_xor_si128(c2[3464],simde_mm_xor_si128(c2[1724],simde_mm_xor_si128(c2[2382],simde_mm_xor_si128(c2[3265],simde_mm_xor_si128(c2[3045],simde_mm_xor_si128(c2[1743],simde_mm_xor_si128(c2[424],simde_mm_xor_si128(c2[1522],simde_mm_xor_si128(c2[1302],c2[1959])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[132]=simde_mm_xor_si128(c2[10],simde_mm_xor_si128(c2[3309],simde_mm_xor_si128(c2[881],simde_mm_xor_si128(c2[1106],simde_mm_xor_si128(c2[691],simde_mm_xor_si128(c2[471],simde_mm_xor_si128(c2[2452],simde_mm_xor_si128(c2[1785],simde_mm_xor_si128(c2[2229],simde_mm_xor_si128(c2[485],simde_mm_xor_si128(c2[265],simde_mm_xor_si128(c2[264],simde_mm_xor_si128(c2[1606],simde_mm_xor_si128(c2[1386],simde_mm_xor_si128(c2[950],simde_mm_xor_si128(c2[3152],simde_mm_xor_si128(c2[2486],simde_mm_xor_si128(c2[532],simde_mm_xor_si128(c2[1193],simde_mm_xor_si128(c2[308],simde_mm_xor_si128(c2[990],simde_mm_xor_si128(c2[558],simde_mm_xor_si128(c2[2774],simde_mm_xor_si128(c2[2554],simde_mm_xor_si128(c2[2335],simde_mm_xor_si128(c2[1013],simde_mm_xor_si128(c2[1916],simde_mm_xor_si128(c2[2799],simde_mm_xor_si128(c2[3266],simde_mm_xor_si128(c2[405],simde_mm_xor_si128(c2[1057],simde_mm_xor_si128(c2[3505],simde_mm_xor_si128(c2[3285],simde_mm_xor_si128(c2[1966],c2[2844]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[143]=simde_mm_xor_si128(c2[2206],simde_mm_xor_si128(c2[3308],simde_mm_xor_si128(c2[3],simde_mm_xor_si128(c2[2861],simde_mm_xor_si128(c2[2887],simde_mm_xor_si128(c2[1349],simde_mm_xor_si128(c2[902],simde_mm_xor_si128(c2[682],simde_mm_xor_si128(c2[2447],simde_mm_xor_si128(c2[2692],simde_mm_xor_si128(c2[2911],simde_mm_xor_si128(c2[2691],simde_mm_xor_si128(c2[294],simde_mm_xor_si128(c2[3366],simde_mm_xor_si128(c2[2049],simde_mm_xor_si128(c2[2948],simde_mm_xor_si128(c2[90],simde_mm_xor_si128(c2[2955],simde_mm_xor_si128(c2[2735],simde_mm_xor_si128(c2[3417],simde_mm_xor_si128(c2[3194],simde_mm_xor_si128(c2[2974],simde_mm_xor_si128(c2[1462],simde_mm_xor_si128(c2[1232],simde_mm_xor_si128(c2[141],simde_mm_xor_si128(c2[3440],simde_mm_xor_si128(c2[824],simde_mm_xor_si128(c2[1916],simde_mm_xor_si128(c2[1696],simde_mm_xor_si128(c2[2163],simde_mm_xor_si128(c2[2821],simde_mm_xor_si128(c2[185],simde_mm_xor_si128(c2[3484],simde_mm_xor_si128(c2[2597],simde_mm_xor_si128(c2[2182],simde_mm_xor_si128(c2[863],simde_mm_xor_si128(c2[1961],c2[1741])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[154]=simde_mm_xor_si128(c2[890],simde_mm_xor_si128(c2[670],simde_mm_xor_si128(c2[229],simde_mm_xor_si128(c2[1761],simde_mm_xor_si128(c2[1320],simde_mm_xor_si128(c2[1986],simde_mm_xor_si128(c2[1545],simde_mm_xor_si128(c2[1571],simde_mm_xor_si128(c2[1351],simde_mm_xor_si128(c2[910],simde_mm_xor_si128(c2[3332],simde_mm_xor_si128(c2[2891],simde_mm_xor_si128(c2[2665],simde_mm_xor_si128(c2[2444],simde_mm_xor_si128(c2[2224],simde_mm_xor_si128(c2[2442],simde_mm_xor_si128(c2[1365],simde_mm_xor_si128(c2[1145],simde_mm_xor_si128(c2[704],simde_mm_xor_si128(c2[1144],simde_mm_xor_si128(c2[934],simde_mm_xor_si128(c2[714],simde_mm_xor_si128(c2[2486],simde_mm_xor_si128(c2[2266],simde_mm_xor_si128(c2[1836],simde_mm_xor_si128(c2[1830],simde_mm_xor_si128(c2[1389],simde_mm_xor_si128(c2[513],simde_mm_xor_si128(c2[72],simde_mm_xor_si128(c2[1412],simde_mm_xor_si128(c2[971],simde_mm_xor_si128(c2[2073],simde_mm_xor_si128(c2[1632],simde_mm_xor_si128(c2[1188],simde_mm_xor_si128(c2[978],simde_mm_xor_si128(c2[758],simde_mm_xor_si128(c2[1870],simde_mm_xor_si128(c2[1440],simde_mm_xor_si128(c2[1438],simde_mm_xor_si128(c2[1217],simde_mm_xor_si128(c2[997],simde_mm_xor_si128(c2[135],simde_mm_xor_si128(c2[3434],simde_mm_xor_si128(c2[2993],simde_mm_xor_si128(c2[3215],simde_mm_xor_si128(c2[2774],simde_mm_xor_si128(c2[1893],simde_mm_xor_si128(c2[1672],simde_mm_xor_si128(c2[1452],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[2796],simde_mm_xor_si128(c2[2355],simde_mm_xor_si128(c2[160],simde_mm_xor_si128(c2[3458],simde_mm_xor_si128(c2[3238],simde_mm_xor_si128(c2[616],simde_mm_xor_si128(c2[186],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[844],simde_mm_xor_si128(c2[1937],simde_mm_xor_si128(c2[1716],simde_mm_xor_si128(c2[1496],simde_mm_xor_si128(c2[866],simde_mm_xor_si128(c2[646],simde_mm_xor_si128(c2[205],simde_mm_xor_si128(c2[2846],simde_mm_xor_si128(c2[2405],simde_mm_xor_si128(c2[205],simde_mm_xor_si128(c2[3503],c2[3283])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[165]=simde_mm_xor_si128(c2[445],simde_mm_xor_si128(c2[881],simde_mm_xor_si128(c2[661],simde_mm_xor_si128(c2[1547],simde_mm_xor_si128(c2[1763],simde_mm_xor_si128(c2[1761],simde_mm_xor_si128(c2[1988],simde_mm_xor_si128(c2[1988],simde_mm_xor_si128(c2[1126],simde_mm_xor_si128(c2[1562],simde_mm_xor_si128(c2[1342],simde_mm_xor_si128(c2[3107],simde_mm_xor_si128(c2[3323],simde_mm_xor_si128(c2[2451],simde_mm_xor_si128(c2[2667],simde_mm_xor_si128(c2[931],simde_mm_xor_si128(c2[1367],simde_mm_xor_si128(c2[1147],simde_mm_xor_si128(c2[930],simde_mm_xor_si128(c2[1146],simde_mm_xor_si128(c2[2052],simde_mm_xor_si128(c2[2488],simde_mm_xor_si128(c2[2268],simde_mm_xor_si128(c2[1616],simde_mm_xor_si128(c2[1832],simde_mm_xor_si128(c2[288],simde_mm_xor_si128(c2[515],simde_mm_xor_si128(c2[1198],simde_mm_xor_si128(c2[1414],simde_mm_xor_si128(c2[1848],simde_mm_xor_si128(c2[2075],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[1190],simde_mm_xor_si128(c2[1656],simde_mm_xor_si128(c2[1872],simde_mm_xor_si128(c2[1213],simde_mm_xor_si128(c2[1440],simde_mm_xor_si128(c2[3220],simde_mm_xor_si128(c2[137],simde_mm_xor_si128(c2[3436],simde_mm_xor_si128(c2[3001],simde_mm_xor_si128(c2[3217],simde_mm_xor_si128(c2[1679],simde_mm_xor_si128(c2[1895],simde_mm_xor_si128(c2[2582],simde_mm_xor_si128(c2[2798],simde_mm_xor_si128(c2[3454],simde_mm_xor_si128(c2[162],simde_mm_xor_si128(c2[402],simde_mm_xor_si128(c2[618],simde_mm_xor_si128(c2[1060],simde_mm_xor_si128(c2[1276],simde_mm_xor_si128(c2[1723],simde_mm_xor_si128(c2[1939],simde_mm_xor_si128(c2[421],simde_mm_xor_si128(c2[868],simde_mm_xor_si128(c2[648],simde_mm_xor_si128(c2[2621],simde_mm_xor_si128(c2[2848],simde_mm_xor_si128(c2[3499],c2[207]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[176]=simde_mm_xor_si128(c2[2870],simde_mm_xor_si128(c2[2650],simde_mm_xor_si128(c2[229],simde_mm_xor_si128(c2[9],simde_mm_xor_si128(c2[222],simde_mm_xor_si128(c2[1320],simde_mm_xor_si128(c2[1100],simde_mm_xor_si128(c2[447],simde_mm_xor_si128(c2[1325],simde_mm_xor_si128(c2[32],simde_mm_xor_si128(c2[3331],simde_mm_xor_si128(c2[910],simde_mm_xor_si128(c2[690],simde_mm_xor_si128(c2[1782],simde_mm_xor_si128(c2[2671],simde_mm_xor_si128(c2[1126],simde_mm_xor_si128(c2[2004],simde_mm_xor_si128(c2[3106],simde_mm_xor_si128(c2[3345],simde_mm_xor_si128(c2[3125],simde_mm_xor_si128(c2[704],simde_mm_xor_si128(c2[484],simde_mm_xor_si128(c2[3124],simde_mm_xor_si128(c2[494],simde_mm_xor_si128(c2[947],simde_mm_xor_si128(c2[727],simde_mm_xor_si128(c2[1836],simde_mm_xor_si128(c2[1616],simde_mm_xor_si128(c2[291],simde_mm_xor_si128(c2[1389],simde_mm_xor_si128(c2[1169],simde_mm_xor_si128(c2[2493],simde_mm_xor_si128(c2[3371],simde_mm_xor_si128(c2[3392],simde_mm_xor_si128(c2[971],simde_mm_xor_si128(c2[751],simde_mm_xor_si128(c2[534],simde_mm_xor_si128(c2[1412],simde_mm_xor_si128(c2[3168],simde_mm_xor_si128(c2[538],simde_mm_xor_si128(c2[331],simde_mm_xor_si128(c2[1440],simde_mm_xor_si128(c2[1220],simde_mm_xor_si128(c2[3418],simde_mm_xor_si128(c2[777],simde_mm_xor_si128(c2[2115],simde_mm_xor_si128(c2[1895],simde_mm_xor_si128(c2[2993],simde_mm_xor_si128(c2[2773],simde_mm_xor_si128(c2[1676],simde_mm_xor_si128(c2[2774],simde_mm_xor_si128(c2[2554],simde_mm_xor_si128(c2[354],simde_mm_xor_si128(c2[1232],simde_mm_xor_si128(c2[1257],simde_mm_xor_si128(c2[2355],simde_mm_xor_si128(c2[2135],simde_mm_xor_si128(c2[2140],simde_mm_xor_si128(c2[3018],simde_mm_xor_si128(c2[2596],simde_mm_xor_si128(c2[186],simde_mm_xor_si128(c2[3485],simde_mm_xor_si128(c2[3265],simde_mm_xor_si128(c2[624],simde_mm_xor_si128(c2[398],simde_mm_xor_si128(c2[1276],simde_mm_xor_si128(c2[2846],simde_mm_xor_si128(c2[2626],simde_mm_xor_si128(c2[205],simde_mm_xor_si128(c2[3504],simde_mm_xor_si128(c2[1307],simde_mm_xor_si128(c2[2405],simde_mm_xor_si128(c2[2185],simde_mm_xor_si128(c2[2185],simde_mm_xor_si128(c2[3063],c2[3287])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[187]=simde_mm_xor_si128(c2[2202],simde_mm_xor_si128(c2[1982],simde_mm_xor_si128(c2[3308],simde_mm_xor_si128(c2[3088],simde_mm_xor_si128(c2[3084],simde_mm_xor_si128(c2[880],simde_mm_xor_si128(c2[660],simde_mm_xor_si128(c2[3309],simde_mm_xor_si128(c2[885],simde_mm_xor_si128(c2[2883],simde_mm_xor_si128(c2[2663],simde_mm_xor_si128(c2[470],simde_mm_xor_si128(c2[250],simde_mm_xor_si128(c2[1125],simde_mm_xor_si128(c2[2231],simde_mm_xor_si128(c2[469],simde_mm_xor_si128(c2[1564],simde_mm_xor_si128(c2[1350],simde_mm_xor_si128(c2[2688],simde_mm_xor_si128(c2[2468],simde_mm_xor_si128(c2[264],simde_mm_xor_si128(c2[44],simde_mm_xor_si128(c2[2467],simde_mm_xor_si128(c2[54],simde_mm_xor_si128(c2[290],simde_mm_xor_si128(c2[70],simde_mm_xor_si128(c2[1396],simde_mm_xor_si128(c2[1176],simde_mm_xor_si128(c2[3153],simde_mm_xor_si128(c2[949],simde_mm_xor_si128(c2[729],simde_mm_xor_si128(c2[1836],simde_mm_xor_si128(c2[2931],simde_mm_xor_si128(c2[2735],simde_mm_xor_si128(c2[531],simde_mm_xor_si128(c2[311],simde_mm_xor_si128(c2[3396],simde_mm_xor_si128(c2[972],simde_mm_xor_si128(c2[2511],simde_mm_xor_si128(c2[98],simde_mm_xor_si128(c2[3193],simde_mm_xor_si128(c2[1000],simde_mm_xor_si128(c2[780],simde_mm_xor_si128(c2[2750],simde_mm_xor_si128(c2[337],simde_mm_xor_si128(c2[1651],simde_mm_xor_si128(c2[1458],simde_mm_xor_si128(c2[1238],simde_mm_xor_si128(c2[2553],simde_mm_xor_si128(c2[2333],simde_mm_xor_si128(c2[1019],simde_mm_xor_si128(c2[2334],simde_mm_xor_si128(c2[2114],simde_mm_xor_si128(c2[3216],simde_mm_xor_si128(c2[792],simde_mm_xor_si128(c2[600],simde_mm_xor_si128(c2[1915],simde_mm_xor_si128(c2[1695],simde_mm_xor_si128(c2[1483],simde_mm_xor_si128(c2[2578],simde_mm_xor_si128(c2[1939],simde_mm_xor_si128(c2[3265],simde_mm_xor_si128(c2[3045],simde_mm_xor_si128(c2[2597],simde_mm_xor_si128(c2[184],simde_mm_xor_si128(c2[3260],simde_mm_xor_si128(c2[836],simde_mm_xor_si128(c2[2178],simde_mm_xor_si128(c2[1958],simde_mm_xor_si128(c2[3284],simde_mm_xor_si128(c2[3064],simde_mm_xor_si128(c2[639],simde_mm_xor_si128(c2[1965],simde_mm_xor_si128(c2[1745],simde_mm_xor_si128(c2[1528],c2[2623])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[198]=simde_mm_xor_si128(c2[2870],simde_mm_xor_si128(c2[3433],c2[1475]));
|
|
|
|
//row: 19
|
|
d2[209]=simde_mm_xor_si128(c2[2647],simde_mm_xor_si128(c2[230],simde_mm_xor_si128(c2[444],simde_mm_xor_si128(c2[2860],simde_mm_xor_si128(c2[3328],simde_mm_xor_si128(c2[1790],simde_mm_xor_si128(c2[1123],simde_mm_xor_si128(c2[1570],simde_mm_xor_si128(c2[3133],simde_mm_xor_si128(c2[3132],simde_mm_xor_si128(c2[735],simde_mm_xor_si128(c2[288],simde_mm_xor_si128(c2[2490],simde_mm_xor_si128(c2[3389],simde_mm_xor_si128(c2[531],simde_mm_xor_si128(c2[3176],simde_mm_xor_si128(c2[339],simde_mm_xor_si128(c2[3415],simde_mm_xor_si128(c2[1892],simde_mm_xor_si128(c2[1673],simde_mm_xor_si128(c2[362],simde_mm_xor_si128(c2[1254],simde_mm_xor_si128(c2[2137],simde_mm_xor_si128(c2[2604],simde_mm_xor_si128(c2[3262],simde_mm_xor_si128(c2[406],simde_mm_xor_si128(c2[2623],simde_mm_xor_si128(c2[1304],c2[2182]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[220]=simde_mm_xor_si128(c2[1989],simde_mm_xor_si128(c2[1769],simde_mm_xor_si128(c2[2860],simde_mm_xor_si128(c2[3085],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[2450],simde_mm_xor_si128(c2[912],simde_mm_xor_si128(c2[245],simde_mm_xor_si128(c2[30],simde_mm_xor_si128(c2[2464],simde_mm_xor_si128(c2[2244],simde_mm_xor_si128(c2[2254],simde_mm_xor_si128(c2[66],simde_mm_xor_si128(c2[3376],simde_mm_xor_si128(c2[2929],simde_mm_xor_si128(c2[1612],simde_mm_xor_si128(c2[2511],simde_mm_xor_si128(c2[3172],simde_mm_xor_si128(c2[2298],simde_mm_xor_si128(c2[971],simde_mm_xor_si128(c2[2980],simde_mm_xor_si128(c2[2537],simde_mm_xor_si128(c2[1234],simde_mm_xor_si128(c2[1014],simde_mm_xor_si128(c2[795],simde_mm_xor_si128(c2[2992],simde_mm_xor_si128(c2[376],simde_mm_xor_si128(c2[1259],simde_mm_xor_si128(c2[1726],simde_mm_xor_si128(c2[2384],simde_mm_xor_si128(c2[3036],simde_mm_xor_si128(c2[1965],simde_mm_xor_si128(c2[1745],simde_mm_xor_si128(c2[426],c2[1304]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[231]=simde_mm_xor_si128(c2[661],simde_mm_xor_si128(c2[1763],simde_mm_xor_si128(c2[1988],simde_mm_xor_si128(c2[2649],simde_mm_xor_si128(c2[1342],simde_mm_xor_si128(c2[3323],simde_mm_xor_si128(c2[2887],simde_mm_xor_si128(c2[2667],simde_mm_xor_si128(c2[1147],simde_mm_xor_si128(c2[1366],simde_mm_xor_si128(c2[1146],simde_mm_xor_si128(c2[2268],simde_mm_xor_si128(c2[1832],simde_mm_xor_si128(c2[515],simde_mm_xor_si128(c2[1414],simde_mm_xor_si128(c2[2075],simde_mm_xor_si128(c2[1410],simde_mm_xor_si128(c2[1190],simde_mm_xor_si128(c2[1872],simde_mm_xor_si128(c2[1660],simde_mm_xor_si128(c2[1440],simde_mm_xor_si128(c2[3436],simde_mm_xor_si128(c2[3217],simde_mm_xor_si128(c2[2115],simde_mm_xor_si128(c2[1895],simde_mm_xor_si128(c2[2798],simde_mm_xor_si128(c2[382],simde_mm_xor_si128(c2[162],simde_mm_xor_si128(c2[618],simde_mm_xor_si128(c2[1276],simde_mm_xor_si128(c2[2159],simde_mm_xor_si128(c2[1939],simde_mm_xor_si128(c2[1506],simde_mm_xor_si128(c2[648],simde_mm_xor_si128(c2[2848],simde_mm_xor_si128(c2[427],c2[207]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[242]=simde_mm_xor_si128(c2[463],c2[714]);
|
|
|
|
//row: 23
|
|
d2[253]=simde_mm_xor_si128(c2[3086],simde_mm_xor_si128(c2[954],c2[1439]));
|
|
|
|
//row: 24
|
|
d2[264]=simde_mm_xor_si128(c2[249],simde_mm_xor_si128(c2[2690],c2[3061]));
|
|
|
|
//row: 25
|
|
d2[275]=simde_mm_xor_si128(c2[1764],c2[1878]);
|
|
|
|
//row: 26
|
|
d2[286]=simde_mm_xor_si128(c2[222],simde_mm_xor_si128(c2[2],simde_mm_xor_si128(c2[2647],simde_mm_xor_si128(c2[1324],simde_mm_xor_si128(c2[1104],simde_mm_xor_si128(c2[230],simde_mm_xor_si128(c2[1329],simde_mm_xor_si128(c2[444],simde_mm_xor_si128(c2[903],simde_mm_xor_si128(c2[683],simde_mm_xor_si128(c2[3328],simde_mm_xor_si128(c2[2664],simde_mm_xor_si128(c2[1790],simde_mm_xor_si128(c2[2008],simde_mm_xor_si128(c2[1343],simde_mm_xor_si128(c2[1123],simde_mm_xor_si128(c2[708],simde_mm_xor_si128(c2[488],simde_mm_xor_si128(c2[3133],simde_mm_xor_si128(c2[487],simde_mm_xor_si128(c2[3352],simde_mm_xor_si128(c2[3132],simde_mm_xor_si128(c2[926],simde_mm_xor_si128(c2[1829],simde_mm_xor_si128(c2[1609],simde_mm_xor_si128(c2[735],simde_mm_xor_si128(c2[1393],simde_mm_xor_si128(c2[1173],simde_mm_xor_si128(c2[288],simde_mm_xor_si128(c2[3375],simde_mm_xor_si128(c2[2490],simde_mm_xor_si128(c2[975],simde_mm_xor_si128(c2[755],simde_mm_xor_si128(c2[3389],simde_mm_xor_si128(c2[1416],simde_mm_xor_si128(c2[531],simde_mm_xor_si128(c2[531],simde_mm_xor_si128(c2[3396],simde_mm_xor_si128(c2[3176],simde_mm_xor_si128(c2[1433],simde_mm_xor_si128(c2[1213],simde_mm_xor_si128(c2[339],simde_mm_xor_si128(c2[770],simde_mm_xor_si128(c2[116],simde_mm_xor_si128(c2[3415],simde_mm_xor_si128(c2[2997],simde_mm_xor_si128(c2[2777],simde_mm_xor_si128(c2[1892],simde_mm_xor_si128(c2[2778],simde_mm_xor_si128(c2[2558],simde_mm_xor_si128(c2[1673],simde_mm_xor_si128(c2[1236],simde_mm_xor_si128(c2[582],simde_mm_xor_si128(c2[362],simde_mm_xor_si128(c2[2359],simde_mm_xor_si128(c2[2139],simde_mm_xor_si128(c2[1254],simde_mm_xor_si128(c2[3022],simde_mm_xor_si128(c2[2357],simde_mm_xor_si128(c2[2137],simde_mm_xor_si128(c2[1476],simde_mm_xor_si128(c2[179],simde_mm_xor_si128(c2[3478],simde_mm_xor_si128(c2[2604],simde_mm_xor_si128(c2[617],simde_mm_xor_si128(c2[3262],simde_mm_xor_si128(c2[1280],simde_mm_xor_si128(c2[626],simde_mm_xor_si128(c2[406],simde_mm_xor_si128(c2[198],simde_mm_xor_si128(c2[3508],simde_mm_xor_si128(c2[2623],simde_mm_xor_si128(c2[2398],simde_mm_xor_si128(c2[2178],simde_mm_xor_si128(c2[1304],simde_mm_xor_si128(c2[3067],simde_mm_xor_si128(c2[2402],c2[2182])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[297]=simde_mm_xor_si128(c2[2202],c2[1898]);
|
|
|
|
//row: 28
|
|
d2[308]=simde_mm_xor_si128(c2[26],simde_mm_xor_si128(c2[1805],c2[1219]));
|
|
|
|
//row: 29
|
|
d2[319]=simde_mm_xor_si128(c2[2428],c2[318]);
|
|
|
|
//row: 30
|
|
d2[330]=simde_mm_xor_si128(c2[929],simde_mm_xor_si128(c2[2980],simde_mm_xor_si128(c2[3019],c2[3059])));
|
|
|
|
//row: 31
|
|
d2[341]=simde_mm_xor_si128(c2[3307],simde_mm_xor_si128(c2[890],simde_mm_xor_si128(c2[1104],simde_mm_xor_si128(c2[469],simde_mm_xor_si128(c2[2450],simde_mm_xor_si128(c2[2003],simde_mm_xor_si128(c2[1783],simde_mm_xor_si128(c2[1129],simde_mm_xor_si128(c2[274],simde_mm_xor_si128(c2[493],simde_mm_xor_si128(c2[273],simde_mm_xor_si128(c2[1395],simde_mm_xor_si128(c2[948],simde_mm_xor_si128(c2[3150],simde_mm_xor_si128(c2[530],simde_mm_xor_si128(c2[1191],simde_mm_xor_si128(c2[537],simde_mm_xor_si128(c2[317],simde_mm_xor_si128(c2[999],simde_mm_xor_si128(c2[776],simde_mm_xor_si128(c2[556],simde_mm_xor_si128(c2[2552],simde_mm_xor_si128(c2[2333],simde_mm_xor_si128(c2[1242],simde_mm_xor_si128(c2[1022],simde_mm_xor_si128(c2[1914],simde_mm_xor_si128(c2[3017],simde_mm_xor_si128(c2[2797],simde_mm_xor_si128(c2[3264],simde_mm_xor_si128(c2[403],simde_mm_xor_si128(c2[1286],simde_mm_xor_si128(c2[1066],simde_mm_xor_si128(c2[3283],simde_mm_xor_si128(c2[1964],simde_mm_xor_si128(c2[3062],c2[2842])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[352]=simde_mm_xor_si128(c2[2207],simde_mm_xor_si128(c2[1987],simde_mm_xor_si128(c2[3309],simde_mm_xor_si128(c2[3089],simde_mm_xor_si128(c2[3303],simde_mm_xor_si128(c2[887],simde_mm_xor_si128(c2[2888],simde_mm_xor_si128(c2[2668],simde_mm_xor_si128(c2[1130],simde_mm_xor_si128(c2[463],simde_mm_xor_si128(c2[2693],simde_mm_xor_si128(c2[2473],simde_mm_xor_si128(c2[2472],simde_mm_xor_si128(c2[295],simde_mm_xor_si128(c2[75],simde_mm_xor_si128(c2[3367],simde_mm_xor_si128(c2[3147],simde_mm_xor_si128(c2[1830],simde_mm_xor_si128(c2[2949],simde_mm_xor_si128(c2[2729],simde_mm_xor_si128(c2[3390],simde_mm_xor_si128(c2[2516],simde_mm_xor_si128(c2[3418],simde_mm_xor_si128(c2[3198],simde_mm_xor_si128(c2[2755],simde_mm_xor_si128(c2[2094],simde_mm_xor_si128(c2[1452],simde_mm_xor_si128(c2[1232],simde_mm_xor_si128(c2[1233],simde_mm_xor_si128(c2[1013],simde_mm_xor_si128(c2[3221],simde_mm_xor_si128(c2[814],simde_mm_xor_si128(c2[594],simde_mm_xor_si128(c2[1477],simde_mm_xor_si128(c2[2164],simde_mm_xor_si128(c2[1944],simde_mm_xor_si128(c2[2602],simde_mm_xor_si128(c2[3265],simde_mm_xor_si128(c2[2183],simde_mm_xor_si128(c2[1963],simde_mm_xor_si128(c2[864],simde_mm_xor_si128(c2[644],c2[1522]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[363]=simde_mm_xor_si128(c2[1760],simde_mm_xor_si128(c2[2862],simde_mm_xor_si128(c2[3087],simde_mm_xor_si128(c2[2452],simde_mm_xor_si128(c2[903],simde_mm_xor_si128(c2[247],simde_mm_xor_si128(c2[2246],simde_mm_xor_si128(c2[2245],simde_mm_xor_si128(c2[2030],simde_mm_xor_si128(c2[3367],simde_mm_xor_si128(c2[2931],simde_mm_xor_si128(c2[1614],simde_mm_xor_si128(c2[2513],simde_mm_xor_si128(c2[3174],simde_mm_xor_si128(c2[2289],simde_mm_xor_si128(c2[2971],simde_mm_xor_si128(c2[2539],simde_mm_xor_si128(c2[1016],simde_mm_xor_si128(c2[797],simde_mm_xor_si128(c2[2994],simde_mm_xor_si128(c2[378],simde_mm_xor_si128(c2[1261],simde_mm_xor_si128(c2[2142],simde_mm_xor_si128(c2[1717],simde_mm_xor_si128(c2[2386],simde_mm_xor_si128(c2[3038],simde_mm_xor_si128(c2[1747],simde_mm_xor_si128(c2[428],c2[1306]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[374]=simde_mm_xor_si128(c2[1101],simde_mm_xor_si128(c2[881],simde_mm_xor_si128(c2[2868],simde_mm_xor_si128(c2[2203],simde_mm_xor_si128(c2[1983],simde_mm_xor_si128(c2[440],simde_mm_xor_si128(c2[2208],simde_mm_xor_si128(c2[665],simde_mm_xor_si128(c2[2420],simde_mm_xor_si128(c2[1782],simde_mm_xor_si128(c2[1562],simde_mm_xor_si128(c2[30],simde_mm_xor_si128(c2[24],simde_mm_xor_si128(c2[2011],simde_mm_xor_si128(c2[2887],simde_mm_xor_si128(c2[1564],simde_mm_xor_si128(c2[1344],simde_mm_xor_si128(c2[1587],simde_mm_xor_si128(c2[1367],simde_mm_xor_si128(c2[3354],simde_mm_xor_si128(c2[1366],simde_mm_xor_si128(c2[54],simde_mm_xor_si128(c2[3353],simde_mm_xor_si128(c2[2708],simde_mm_xor_si128(c2[2488],simde_mm_xor_si128(c2[956],simde_mm_xor_si128(c2[2272],simde_mm_xor_si128(c2[2052],simde_mm_xor_si128(c2[509],simde_mm_xor_si128(c2[735],simde_mm_xor_si128(c2[2711],simde_mm_xor_si128(c2[1854],simde_mm_xor_si128(c2[1634],simde_mm_xor_si128(c2[91],simde_mm_xor_si128(c2[2295],simde_mm_xor_si128(c2[752],simde_mm_xor_si128(c2[1410],simde_mm_xor_si128(c2[98],simde_mm_xor_si128(c2[3397],simde_mm_xor_si128(c2[2312],simde_mm_xor_si128(c2[2092],simde_mm_xor_si128(c2[560],simde_mm_xor_si128(c2[1660],simde_mm_xor_si128(c2[337],simde_mm_xor_si128(c2[117],simde_mm_xor_si128(c2[357],simde_mm_xor_si128(c2[137],simde_mm_xor_si128(c2[2113],simde_mm_xor_si128(c2[138],simde_mm_xor_si128(c2[3437],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[2115],simde_mm_xor_si128(c2[792],simde_mm_xor_si128(c2[572],simde_mm_xor_si128(c2[3238],simde_mm_xor_si128(c2[3018],simde_mm_xor_si128(c2[1475],simde_mm_xor_si128(c2[382],simde_mm_xor_si128(c2[2578],simde_mm_xor_si128(c2[2358],simde_mm_xor_si128(c2[1058],simde_mm_xor_si128(c2[838],simde_mm_xor_si128(c2[2825],simde_mm_xor_si128(c2[1496],simde_mm_xor_si128(c2[3483],simde_mm_xor_si128(c2[2159],simde_mm_xor_si128(c2[836],simde_mm_xor_si128(c2[616],simde_mm_xor_si128(c2[1088],simde_mm_xor_si128(c2[868],simde_mm_xor_si128(c2[2844],simde_mm_xor_si128(c2[3288],simde_mm_xor_si128(c2[3068],simde_mm_xor_si128(c2[1525],simde_mm_xor_si128(c2[427],simde_mm_xor_si128(c2[2623],c2[2403]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[385]=simde_mm_xor_si128(c2[1769],simde_mm_xor_si128(c2[1549],simde_mm_xor_si128(c2[2640],simde_mm_xor_si128(c2[2865],simde_mm_xor_si128(c2[2450],simde_mm_xor_si128(c2[2230],simde_mm_xor_si128(c2[692],simde_mm_xor_si128(c2[25],simde_mm_xor_si128(c2[3109],simde_mm_xor_si128(c2[2244],simde_mm_xor_si128(c2[2024],simde_mm_xor_si128(c2[2034],simde_mm_xor_si128(c2[3376],simde_mm_xor_si128(c2[3156],simde_mm_xor_si128(c2[2709],simde_mm_xor_si128(c2[1392],simde_mm_xor_si128(c2[2291],simde_mm_xor_si128(c2[2952],simde_mm_xor_si128(c2[2078],simde_mm_xor_si128(c2[2760],simde_mm_xor_si128(c2[2317],simde_mm_xor_si128(c2[1879],simde_mm_xor_si128(c2[1014],simde_mm_xor_si128(c2[794],simde_mm_xor_si128(c2[575],simde_mm_xor_si128(c2[2772],simde_mm_xor_si128(c2[156],simde_mm_xor_si128(c2[1039],simde_mm_xor_si128(c2[1506],simde_mm_xor_si128(c2[2164],simde_mm_xor_si128(c2[2816],simde_mm_xor_si128(c2[1745],simde_mm_xor_si128(c2[1525],simde_mm_xor_si128(c2[206],c2[1084]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[396]=simde_mm_xor_si128(c2[1984],simde_mm_xor_si128(c2[2253],c2[382]));
|
|
|
|
//row: 37
|
|
d2[407]=simde_mm_xor_si128(c2[449],simde_mm_xor_si128(c2[221],simde_mm_xor_si128(c2[1540],simde_mm_xor_si128(c2[1323],simde_mm_xor_si128(c2[1765],simde_mm_xor_si128(c2[1548],simde_mm_xor_si128(c2[1130],simde_mm_xor_si128(c2[902],simde_mm_xor_si128(c2[3111],simde_mm_xor_si128(c2[2883],simde_mm_xor_si128(c2[2444],simde_mm_xor_si128(c2[2447],simde_mm_xor_si128(c2[2227],simde_mm_xor_si128(c2[924],simde_mm_xor_si128(c2[707],simde_mm_xor_si128(c2[934],simde_mm_xor_si128(c2[926],simde_mm_xor_si128(c2[706],simde_mm_xor_si128(c2[2056],simde_mm_xor_si128(c2[1828],simde_mm_xor_si128(c2[1609],simde_mm_xor_si128(c2[1392],simde_mm_xor_si128(c2[292],simde_mm_xor_si128(c2[75],simde_mm_xor_si128(c2[1191],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[1852],simde_mm_xor_si128(c2[1635],simde_mm_xor_si128(c2[978],simde_mm_xor_si128(c2[970],simde_mm_xor_si128(c2[750],simde_mm_xor_si128(c2[1660],simde_mm_xor_si128(c2[1432],simde_mm_xor_si128(c2[1217],simde_mm_xor_si128(c2[1220],simde_mm_xor_si128(c2[1000],simde_mm_xor_si128(c2[3213],simde_mm_xor_si128(c2[2996],simde_mm_xor_si128(c2[2994],simde_mm_xor_si128(c2[2777],simde_mm_xor_si128(c2[1672],simde_mm_xor_si128(c2[1675],simde_mm_xor_si128(c2[1455],simde_mm_xor_si128(c2[2575],simde_mm_xor_si128(c2[2358],simde_mm_xor_si128(c2[3458],simde_mm_xor_si128(c2[3461],simde_mm_xor_si128(c2[3241],simde_mm_xor_si128(c2[406],simde_mm_xor_si128(c2[178],simde_mm_xor_si128(c2[1064],simde_mm_xor_si128(c2[836],simde_mm_xor_si128(c2[1716],simde_mm_xor_si128(c2[1719],simde_mm_xor_si128(c2[1499],simde_mm_xor_si128(c2[425],simde_mm_xor_si128(c2[208],simde_mm_xor_si128(c2[2625],simde_mm_xor_si128(c2[2408],simde_mm_xor_si128(c2[3503],simde_mm_xor_si128(c2[3506],c2[3286])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[418]=simde_mm_xor_si128(c2[3310],simde_mm_xor_si128(c2[3090],simde_mm_xor_si128(c2[662],simde_mm_xor_si128(c2[887],simde_mm_xor_si128(c2[472],simde_mm_xor_si128(c2[252],simde_mm_xor_si128(c2[2222],simde_mm_xor_si128(c2[1566],simde_mm_xor_si128(c2[29],simde_mm_xor_si128(c2[266],simde_mm_xor_si128(c2[46],simde_mm_xor_si128(c2[45],simde_mm_xor_si128(c2[1387],simde_mm_xor_si128(c2[1167],simde_mm_xor_si128(c2[731],simde_mm_xor_si128(c2[2933],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[89],simde_mm_xor_si128(c2[771],simde_mm_xor_si128(c2[339],simde_mm_xor_si128(c2[1650],simde_mm_xor_si128(c2[2555],simde_mm_xor_si128(c2[2335],simde_mm_xor_si128(c2[2116],simde_mm_xor_si128(c2[794],simde_mm_xor_si128(c2[1697],simde_mm_xor_si128(c2[2580],simde_mm_xor_si128(c2[3036],simde_mm_xor_si128(c2[186],simde_mm_xor_si128(c2[838],simde_mm_xor_si128(c2[3286],simde_mm_xor_si128(c2[3066],simde_mm_xor_si128(c2[1747],c2[2625]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[429]=simde_mm_xor_si128(c2[1105],simde_mm_xor_si128(c2[885],simde_mm_xor_si128(c2[2207],simde_mm_xor_si128(c2[1987],simde_mm_xor_si128(c2[2201],simde_mm_xor_si128(c2[2866],simde_mm_xor_si128(c2[1786],simde_mm_xor_si128(c2[1566],simde_mm_xor_si128(c2[28],simde_mm_xor_si128(c2[2891],simde_mm_xor_si128(c2[1591],simde_mm_xor_si128(c2[1371],simde_mm_xor_si128(c2[1370],simde_mm_xor_si128(c2[2712],simde_mm_xor_si128(c2[2492],simde_mm_xor_si128(c2[2276],simde_mm_xor_si128(c2[2056],simde_mm_xor_si128(c2[728],simde_mm_xor_si128(c2[1858],simde_mm_xor_si128(c2[1638],simde_mm_xor_si128(c2[2288],simde_mm_xor_si128(c2[1414],simde_mm_xor_si128(c2[2316],simde_mm_xor_si128(c2[2096],simde_mm_xor_si128(c2[1653],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[141],simde_mm_xor_si128(c2[142],simde_mm_xor_si128(c2[3441],simde_mm_xor_si128(c2[2119],simde_mm_xor_si128(c2[3242],simde_mm_xor_si128(c2[3022],simde_mm_xor_si128(c2[375],simde_mm_xor_si128(c2[1474],simde_mm_xor_si128(c2[1062],simde_mm_xor_si128(c2[842],simde_mm_xor_si128(c2[1500],simde_mm_xor_si128(c2[2163],simde_mm_xor_si128(c2[1081],simde_mm_xor_si128(c2[861],simde_mm_xor_si128(c2[3281],simde_mm_xor_si128(c2[3061],c2[420]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[440]=simde_mm_xor_si128(c2[1548],simde_mm_xor_si128(c2[2863],simde_mm_xor_si128(c2[2650],simde_mm_xor_si128(c2[446],simde_mm_xor_si128(c2[2864],simde_mm_xor_si128(c2[660],simde_mm_xor_si128(c2[2229],simde_mm_xor_si128(c2[25],simde_mm_xor_si128(c2[691],simde_mm_xor_si128(c2[2006],simde_mm_xor_si128(c2[24],simde_mm_xor_si128(c2[1570],simde_mm_xor_si128(c2[1350],simde_mm_xor_si128(c2[2034],simde_mm_xor_si128(c2[3349],simde_mm_xor_si128(c2[2033],simde_mm_xor_si128(c2[49],simde_mm_xor_si128(c2[3348],simde_mm_xor_si128(c2[54],simde_mm_xor_si128(c2[3155],simde_mm_xor_si128(c2[951],simde_mm_xor_si128(c2[2708],simde_mm_xor_si128(c2[515],simde_mm_xor_si128(c2[1391],simde_mm_xor_si128(c2[2706],simde_mm_xor_si128(c2[2290],simde_mm_xor_si128(c2[97],simde_mm_xor_si128(c2[2951],simde_mm_xor_si128(c2[758],simde_mm_xor_si128(c2[2077],simde_mm_xor_si128(c2[93],simde_mm_xor_si128(c2[3392],simde_mm_xor_si128(c2[2759],simde_mm_xor_si128(c2[555],simde_mm_xor_si128(c2[2316],simde_mm_xor_si128(c2[332],simde_mm_xor_si128(c2[112],simde_mm_xor_si128(c2[793],simde_mm_xor_si128(c2[2119],simde_mm_xor_si128(c2[574],simde_mm_xor_si128(c2[1900],simde_mm_xor_si128(c2[2782],simde_mm_xor_si128(c2[798],simde_mm_xor_si128(c2[578],simde_mm_xor_si128(c2[155],simde_mm_xor_si128(c2[1481],simde_mm_xor_si128(c2[1038],simde_mm_xor_si128(c2[2584],simde_mm_xor_si128(c2[2364],simde_mm_xor_si128(c2[1505],simde_mm_xor_si128(c2[2820],simde_mm_xor_si128(c2[2163],simde_mm_xor_si128(c2[3478],simde_mm_xor_si128(c2[2826],simde_mm_xor_si128(c2[842],simde_mm_xor_si128(c2[622],simde_mm_xor_si128(c2[1524],simde_mm_xor_si128(c2[2839],simde_mm_xor_si128(c2[205],simde_mm_xor_si128(c2[1520],simde_mm_xor_si128(c2[1083],simde_mm_xor_si128(c2[2618],c2[2398]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[451]=simde_mm_xor_si128(c2[890],simde_mm_xor_si128(c2[670],simde_mm_xor_si128(c2[1761],simde_mm_xor_si128(c2[1986],simde_mm_xor_si128(c2[1571],simde_mm_xor_si128(c2[1351],simde_mm_xor_si128(c2[3332],simde_mm_xor_si128(c2[2665],simde_mm_xor_si128(c2[910],simde_mm_xor_si128(c2[1365],simde_mm_xor_si128(c2[1145],simde_mm_xor_si128(c2[1144],simde_mm_xor_si128(c2[2486],simde_mm_xor_si128(c2[2266],simde_mm_xor_si128(c2[1830],simde_mm_xor_si128(c2[513],simde_mm_xor_si128(c2[1412],simde_mm_xor_si128(c2[2073],simde_mm_xor_si128(c2[1188],simde_mm_xor_si128(c2[1870],simde_mm_xor_si128(c2[1438],simde_mm_xor_si128(c2[1430],simde_mm_xor_si128(c2[135],simde_mm_xor_si128(c2[3434],simde_mm_xor_si128(c2[3215],simde_mm_xor_si128(c2[1893],simde_mm_xor_si128(c2[2796],simde_mm_xor_si128(c2[160],simde_mm_xor_si128(c2[616],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[1937],simde_mm_xor_si128(c2[866],simde_mm_xor_si128(c2[646],simde_mm_xor_si128(c2[2846],c2[205]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|