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
139 lines
42 KiB
C
139 lines
42 KiB
C
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=144, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc144_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<9; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm_xor_si128(c2[360],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[2525],simde_mm_xor_si128(c2[1639],simde_mm_xor_si128(c2[1644],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[759],simde_mm_xor_si128(c2[1483],simde_mm_xor_si128(c2[416],simde_mm_xor_si128(c2[2399],simde_mm_xor_si128(c2[2039],simde_mm_xor_si128(c2[1338],simde_mm_xor_si128(c2[2418],simde_mm_xor_si128(c2[973],simde_mm_xor_si128(c2[274],simde_mm_xor_si128(c2[630],simde_mm_xor_si128(c2[475],simde_mm_xor_si128(c2[653],simde_mm_xor_si128(c2[1552],simde_mm_xor_si128(c2[312],simde_mm_xor_si128(c2[129],simde_mm_xor_si128(c2[868],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[2851],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[345],c2[2686]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[9]=simde_mm_xor_si128(c2[540],simde_mm_xor_si128(c2[360],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[2525],simde_mm_xor_si128(c2[1819],simde_mm_xor_si128(c2[1639],simde_mm_xor_si128(c2[1644],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[939],simde_mm_xor_si128(c2[759],simde_mm_xor_si128(c2[1483],simde_mm_xor_si128(c2[596],simde_mm_xor_si128(c2[416],simde_mm_xor_si128(c2[2399],simde_mm_xor_si128(c2[2039],simde_mm_xor_si128(c2[1338],simde_mm_xor_si128(c2[2418],simde_mm_xor_si128(c2[973],simde_mm_xor_si128(c2[274],simde_mm_xor_si128(c2[630],simde_mm_xor_si128(c2[655],simde_mm_xor_si128(c2[475],simde_mm_xor_si128(c2[653],simde_mm_xor_si128(c2[1552],simde_mm_xor_si128(c2[312],simde_mm_xor_si128(c2[129],simde_mm_xor_si128(c2[868],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[2851],simde_mm_xor_si128(c2[2869],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[345],c2[2686]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[18]=simde_mm_xor_si128(c2[540],simde_mm_xor_si128(c2[360],simde_mm_xor_si128(c2[541],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[2525],simde_mm_xor_si128(c2[1819],simde_mm_xor_si128(c2[1639],simde_mm_xor_si128(c2[1644],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[939],simde_mm_xor_si128(c2[759],simde_mm_xor_si128(c2[1483],simde_mm_xor_si128(c2[596],simde_mm_xor_si128(c2[416],simde_mm_xor_si128(c2[2579],simde_mm_xor_si128(c2[2399],simde_mm_xor_si128(c2[2039],simde_mm_xor_si128(c2[1518],simde_mm_xor_si128(c2[1338],simde_mm_xor_si128(c2[2418],simde_mm_xor_si128(c2[973],simde_mm_xor_si128(c2[454],simde_mm_xor_si128(c2[274],simde_mm_xor_si128(c2[630],simde_mm_xor_si128(c2[655],simde_mm_xor_si128(c2[475],simde_mm_xor_si128(c2[833],simde_mm_xor_si128(c2[653],simde_mm_xor_si128(c2[1552],simde_mm_xor_si128(c2[492],simde_mm_xor_si128(c2[312],simde_mm_xor_si128(c2[129],simde_mm_xor_si128(c2[1048],simde_mm_xor_si128(c2[868],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[2851],simde_mm_xor_si128(c2[2869],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[525],simde_mm_xor_si128(c2[345],c2[2686]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[27]=simde_mm_xor_si128(c2[360],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[2525],simde_mm_xor_si128(c2[1639],simde_mm_xor_si128(c2[1644],simde_mm_xor_si128(c2[1465],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[759],simde_mm_xor_si128(c2[1663],simde_mm_xor_si128(c2[1483],simde_mm_xor_si128(c2[416],simde_mm_xor_si128(c2[2399],simde_mm_xor_si128(c2[2039],simde_mm_xor_si128(c2[1338],simde_mm_xor_si128(c2[2418],simde_mm_xor_si128(c2[1153],simde_mm_xor_si128(c2[973],simde_mm_xor_si128(c2[274],simde_mm_xor_si128(c2[810],simde_mm_xor_si128(c2[630],simde_mm_xor_si128(c2[475],simde_mm_xor_si128(c2[653],simde_mm_xor_si128(c2[1732],simde_mm_xor_si128(c2[1552],simde_mm_xor_si128(c2[312],simde_mm_xor_si128(c2[309],simde_mm_xor_si128(c2[129],simde_mm_xor_si128(c2[868],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[152],simde_mm_xor_si128(c2[2851],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[345],simde_mm_xor_si128(c2[2866],c2[2686]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[36]=simde_mm_xor_si128(c2[1083],simde_mm_xor_si128(c2[903],simde_mm_xor_si128(c2[904],simde_mm_xor_si128(c2[180],simde_mm_xor_si128(c2[1802],simde_mm_xor_si128(c2[2362],simde_mm_xor_si128(c2[2182],simde_mm_xor_si128(c2[2178],simde_mm_xor_si128(c2[1819],simde_mm_xor_si128(c2[1459],simde_mm_xor_si128(c2[1482],simde_mm_xor_si128(c2[1302],simde_mm_xor_si128(c2[2017],simde_mm_xor_si128(c2[1139],simde_mm_xor_si128(c2[959],simde_mm_xor_si128(c2[54],simde_mm_xor_si128(c2[2582],simde_mm_xor_si128(c2[1872],simde_mm_xor_si128(c2[73],simde_mm_xor_si128(c2[1516],simde_mm_xor_si128(c2[817],simde_mm_xor_si128(c2[1173],simde_mm_xor_si128(c2[1189],simde_mm_xor_si128(c2[1009],simde_mm_xor_si128(c2[1196],simde_mm_xor_si128(c2[2095],simde_mm_xor_si128(c2[846],simde_mm_xor_si128(c2[672],simde_mm_xor_si128(c2[1411],simde_mm_xor_si128(c2[325],simde_mm_xor_si128(c2[506],simde_mm_xor_si128(c2[524],simde_mm_xor_si128(c2[344],simde_mm_xor_si128(c2[888],c2[350]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[45]=simde_mm_xor_si128(c2[1804],simde_mm_xor_si128(c2[1624],simde_mm_xor_si128(c2[1625],simde_mm_xor_si128(c2[901],simde_mm_xor_si128(c2[1442],simde_mm_xor_si128(c2[204],simde_mm_xor_si128(c2[24],simde_mm_xor_si128(c2[20],simde_mm_xor_si128(c2[2540],simde_mm_xor_si128(c2[2186],simde_mm_xor_si128(c2[2203],simde_mm_xor_si128(c2[2023],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[1860],simde_mm_xor_si128(c2[1680],simde_mm_xor_si128(c2[775],simde_mm_xor_si128(c2[415],simde_mm_xor_si128(c2[2593],simde_mm_xor_si128(c2[794],simde_mm_xor_si128(c2[2237],simde_mm_xor_si128(c2[1538],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[815],simde_mm_xor_si128(c2[1910],simde_mm_xor_si128(c2[1730],simde_mm_xor_si128(c2[1908],simde_mm_xor_si128(c2[2816],simde_mm_xor_si128(c2[1567],simde_mm_xor_si128(c2[1393],simde_mm_xor_si128(c2[1754],simde_mm_xor_si128(c2[2132],simde_mm_xor_si128(c2[1046],simde_mm_xor_si128(c2[1227],simde_mm_xor_si128(c2[1245],simde_mm_xor_si128(c2[1065],simde_mm_xor_si128(c2[1609],c2[1062]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[54]=simde_mm_xor_si128(c2[2528],simde_mm_xor_si128(c2[2348],simde_mm_xor_si128(c2[2340],simde_mm_xor_si128(c2[1625],simde_mm_xor_si128(c2[2346],simde_mm_xor_si128(c2[919],simde_mm_xor_si128(c2[739],simde_mm_xor_si128(c2[744],simde_mm_xor_si128(c2[385],simde_mm_xor_si128(c2[39],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[583],simde_mm_xor_si128(c2[2575],simde_mm_xor_si128(c2[2395],simde_mm_xor_si128(c2[1499],simde_mm_xor_si128(c2[1139],simde_mm_xor_si128(c2[438],simde_mm_xor_si128(c2[1518],simde_mm_xor_si128(c2[73],simde_mm_xor_si128(c2[2253],simde_mm_xor_si128(c2[2618],simde_mm_xor_si128(c2[1355],simde_mm_xor_si128(c2[2634],simde_mm_xor_si128(c2[2454],simde_mm_xor_si128(c2[2632],simde_mm_xor_si128(c2[652],simde_mm_xor_si128(c2[2291],simde_mm_xor_si128(c2[2108],simde_mm_xor_si128(c2[2112],simde_mm_xor_si128(c2[2847],simde_mm_xor_si128(c2[1770],simde_mm_xor_si128(c2[1951],simde_mm_xor_si128(c2[1969],simde_mm_xor_si128(c2[1789],simde_mm_xor_si128(c2[2324],simde_mm_xor_si128(c2[1786],c2[1070]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[63]=simde_mm_xor_si128(c2[2706],simde_mm_xor_si128(c2[2526],simde_mm_xor_si128(c2[544],simde_mm_xor_si128(c2[2527],simde_mm_xor_si128(c2[545],simde_mm_xor_si128(c2[1803],simde_mm_xor_si128(c2[2700],simde_mm_xor_si128(c2[1106],simde_mm_xor_si128(c2[926],simde_mm_xor_si128(c2[1823],simde_mm_xor_si128(c2[922],simde_mm_xor_si128(c2[1819],simde_mm_xor_si128(c2[563],simde_mm_xor_si128(c2[1640],simde_mm_xor_si128(c2[1460],simde_mm_xor_si128(c2[204],simde_mm_xor_si128(c2[217],simde_mm_xor_si128(c2[37],simde_mm_xor_si128(c2[943],simde_mm_xor_si128(c2[761],simde_mm_xor_si128(c2[1838],simde_mm_xor_si128(c2[1658],simde_mm_xor_si128(c2[2762],simde_mm_xor_si128(c2[2582],simde_mm_xor_si128(c2[600],simde_mm_xor_si128(c2[1677],simde_mm_xor_si128(c2[2574],simde_mm_xor_si128(c2[1317],simde_mm_xor_si128(c2[2214],simde_mm_xor_si128(c2[616],simde_mm_xor_si128(c2[1513],simde_mm_xor_si128(c2[1696],simde_mm_xor_si128(c2[2593],simde_mm_xor_si128(c2[260],simde_mm_xor_si128(c2[1337],simde_mm_xor_si128(c2[1157],simde_mm_xor_si128(c2[2431],simde_mm_xor_si128(c2[458],simde_mm_xor_si128(c2[2796],simde_mm_xor_si128(c2[994],simde_mm_xor_si128(c2[814],simde_mm_xor_si128(c2[1358],simde_mm_xor_si128(c2[2812],simde_mm_xor_si128(c2[2632],simde_mm_xor_si128(c2[650],simde_mm_xor_si128(c2[2810],simde_mm_xor_si128(c2[828],simde_mm_xor_si128(c2[830],simde_mm_xor_si128(c2[1916],simde_mm_xor_si128(c2[1736],simde_mm_xor_si128(c2[2469],simde_mm_xor_si128(c2[487],simde_mm_xor_si128(c2[2286],simde_mm_xor_si128(c2[493],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[668],simde_mm_xor_si128(c2[146],simde_mm_xor_si128(c2[1052],simde_mm_xor_si128(c2[1948],simde_mm_xor_si128(c2[2845],simde_mm_xor_si128(c2[2129],simde_mm_xor_si128(c2[327],simde_mm_xor_si128(c2[147],simde_mm_xor_si128(c2[2147],simde_mm_xor_si128(c2[1967],simde_mm_xor_si128(c2[2864],simde_mm_xor_si128(c2[2502],simde_mm_xor_si128(c2[529],simde_mm_xor_si128(c2[1964],simde_mm_xor_si128(c2[162],c2[2870]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[72]=simde_mm_xor_si128(c2[1985],simde_mm_xor_si128(c2[1805],simde_mm_xor_si128(c2[1986],simde_mm_xor_si128(c2[1806],simde_mm_xor_si128(c2[1082],simde_mm_xor_si128(c2[1084],simde_mm_xor_si128(c2[385],simde_mm_xor_si128(c2[205],simde_mm_xor_si128(c2[201],simde_mm_xor_si128(c2[2721],simde_mm_xor_si128(c2[922],simde_mm_xor_si128(c2[2384],simde_mm_xor_si128(c2[2204],simde_mm_xor_si128(c2[40],simde_mm_xor_si128(c2[2041],simde_mm_xor_si128(c2[1861],simde_mm_xor_si128(c2[1136],simde_mm_xor_si128(c2[956],simde_mm_xor_si128(c2[596],simde_mm_xor_si128(c2[75],simde_mm_xor_si128(c2[2774],simde_mm_xor_si128(c2[975],simde_mm_xor_si128(c2[2418],simde_mm_xor_si128(c2[1890],simde_mm_xor_si128(c2[1710],simde_mm_xor_si128(c2[2075],simde_mm_xor_si128(c2[2091],simde_mm_xor_si128(c2[1911],simde_mm_xor_si128(c2[2269],simde_mm_xor_si128(c2[2089],simde_mm_xor_si128(c2[109],simde_mm_xor_si128(c2[1928],simde_mm_xor_si128(c2[1748],simde_mm_xor_si128(c2[1574],simde_mm_xor_si128(c2[2484],simde_mm_xor_si128(c2[2304],simde_mm_xor_si128(c2[1227],simde_mm_xor_si128(c2[1408],simde_mm_xor_si128(c2[1426],simde_mm_xor_si128(c2[1246],simde_mm_xor_si128(c2[1970],simde_mm_xor_si128(c2[1790],c2[1243]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[81]=simde_mm_xor_si128(c2[1801],simde_mm_xor_si128(c2[723],simde_mm_xor_si128(c2[543],simde_mm_xor_si128(c2[1802],simde_mm_xor_si128(c2[544],simde_mm_xor_si128(c2[1087],simde_mm_xor_si128(c2[2708],simde_mm_xor_si128(c2[201],simde_mm_xor_si128(c2[2002],simde_mm_xor_si128(c2[1822],simde_mm_xor_si128(c2[206],simde_mm_xor_si128(c2[1818],simde_mm_xor_si128(c2[2726],simde_mm_xor_si128(c2[1459],simde_mm_xor_si128(c2[204],simde_mm_xor_si128(c2[2200],simde_mm_xor_si128(c2[1122],simde_mm_xor_si128(c2[942],simde_mm_xor_si128(c2[36],simde_mm_xor_si128(c2[1657],simde_mm_xor_si128(c2[1857],simde_mm_xor_si128(c2[779],simde_mm_xor_si128(c2[599],simde_mm_xor_si128(c2[961],simde_mm_xor_si128(c2[2582],simde_mm_xor_si128(c2[601],simde_mm_xor_si128(c2[2222],simde_mm_xor_si128(c2[2779],simde_mm_xor_si128(c2[1512],simde_mm_xor_si128(c2[980],simde_mm_xor_si128(c2[2592],simde_mm_xor_si128(c2[2414],simde_mm_xor_si128(c2[1156],simde_mm_xor_si128(c2[1715],simde_mm_xor_si128(c2[457],simde_mm_xor_si128(c2[2071],simde_mm_xor_si128(c2[813],simde_mm_xor_si128(c2[1916],simde_mm_xor_si128(c2[829],simde_mm_xor_si128(c2[649],simde_mm_xor_si128(c2[2094],simde_mm_xor_si128(c2[836],simde_mm_xor_si128(c2[114],simde_mm_xor_si128(c2[1735],simde_mm_xor_si128(c2[1753],simde_mm_xor_si128(c2[486],simde_mm_xor_si128(c2[1570],simde_mm_xor_si128(c2[312],simde_mm_xor_si128(c2[2309],simde_mm_xor_si128(c2[1051],simde_mm_xor_si128(c2[1232],simde_mm_xor_si128(c2[2844],simde_mm_xor_si128(c2[1404],simde_mm_xor_si128(c2[146],simde_mm_xor_si128(c2[1586],simde_mm_xor_si128(c2[1242],simde_mm_xor_si128(c2[164],simde_mm_xor_si128(c2[2863],simde_mm_xor_si128(c2[1786],simde_mm_xor_si128(c2[528],simde_mm_xor_si128(c2[1248],c2[2869])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[90]=simde_mm_xor_si128(c2[2522],simde_mm_xor_si128(c2[1640],simde_mm_xor_si128(c2[1014],c2[132])));
|
|
|
|
//row: 11
|
|
d2[99]=simde_mm_xor_si128(c2[364],simde_mm_xor_si128(c2[365],simde_mm_xor_si128(c2[2520],simde_mm_xor_si128(c2[2161],simde_mm_xor_si128(c2[1643],simde_mm_xor_si128(c2[1639],simde_mm_xor_si128(c2[1460],simde_mm_xor_si128(c2[1280],simde_mm_xor_si128(c2[763],simde_mm_xor_si128(c2[1658],simde_mm_xor_si128(c2[1478],simde_mm_xor_si128(c2[420],simde_mm_xor_si128(c2[2394],simde_mm_xor_si128(c2[2034],simde_mm_xor_si128(c2[1333],simde_mm_xor_si128(c2[2413],simde_mm_xor_si128(c2[1157],simde_mm_xor_si128(c2[977],simde_mm_xor_si128(c2[278],simde_mm_xor_si128(c2[814],simde_mm_xor_si128(c2[634],simde_mm_xor_si128(c2[470],simde_mm_xor_si128(c2[648],simde_mm_xor_si128(c2[1736],simde_mm_xor_si128(c2[1556],simde_mm_xor_si128(c2[307],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[133],simde_mm_xor_si128(c2[2647],simde_mm_xor_si128(c2[872],simde_mm_xor_si128(c2[2665],simde_mm_xor_si128(c2[147],simde_mm_xor_si128(c2[2846],simde_mm_xor_si128(c2[2684],simde_mm_xor_si128(c2[349],simde_mm_xor_si128(c2[2870],simde_mm_xor_si128(c2[2690],c2[889])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[108]=simde_mm_xor_si128(c2[1088],simde_mm_xor_si128(c2[908],simde_mm_xor_si128(c2[900],simde_mm_xor_si128(c2[185],simde_mm_xor_si128(c2[2358],simde_mm_xor_si128(c2[2178],simde_mm_xor_si128(c2[2183],simde_mm_xor_si128(c2[1824],simde_mm_xor_si128(c2[200],simde_mm_xor_si128(c2[1478],simde_mm_xor_si128(c2[1298],simde_mm_xor_si128(c2[2022],simde_mm_xor_si128(c2[1135],simde_mm_xor_si128(c2[955],simde_mm_xor_si128(c2[59],simde_mm_xor_si128(c2[2578],simde_mm_xor_si128(c2[1861],simde_mm_xor_si128(c2[1877],simde_mm_xor_si128(c2[78],simde_mm_xor_si128(c2[1512],simde_mm_xor_si128(c2[813],simde_mm_xor_si128(c2[1178],simde_mm_xor_si128(c2[1194],simde_mm_xor_si128(c2[1014],simde_mm_xor_si128(c2[1192],simde_mm_xor_si128(c2[2091],simde_mm_xor_si128(c2[851],simde_mm_xor_si128(c2[668],simde_mm_xor_si128(c2[1407],simde_mm_xor_si128(c2[330],simde_mm_xor_si128(c2[511],simde_mm_xor_si128(c2[529],simde_mm_xor_si128(c2[349],simde_mm_xor_si128(c2[884],c2[346]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[117]=simde_mm_xor_si128(c2[183],simde_mm_xor_si128(c2[184],simde_mm_xor_si128(c2[2348],simde_mm_xor_si128(c2[2164],simde_mm_xor_si128(c2[1462],simde_mm_xor_si128(c2[1458],simde_mm_xor_si128(c2[1279],simde_mm_xor_si128(c2[1099],simde_mm_xor_si128(c2[920],simde_mm_xor_si128(c2[582],simde_mm_xor_si128(c2[1477],simde_mm_xor_si128(c2[1297],simde_mm_xor_si128(c2[239],simde_mm_xor_si128(c2[2222],simde_mm_xor_si128(c2[1862],simde_mm_xor_si128(c2[1152],simde_mm_xor_si128(c2[2232],simde_mm_xor_si128(c2[976],simde_mm_xor_si128(c2[796],simde_mm_xor_si128(c2[97],simde_mm_xor_si128(c2[633],simde_mm_xor_si128(c2[453],simde_mm_xor_si128(c2[289],simde_mm_xor_si128(c2[476],simde_mm_xor_si128(c2[1555],simde_mm_xor_si128(c2[1375],simde_mm_xor_si128(c2[126],simde_mm_xor_si128(c2[132],simde_mm_xor_si128(c2[2831],simde_mm_xor_si128(c2[691],simde_mm_xor_si128(c2[2484],simde_mm_xor_si128(c2[2845],simde_mm_xor_si128(c2[2665],simde_mm_xor_si128(c2[2667],simde_mm_xor_si128(c2[2503],simde_mm_xor_si128(c2[168],simde_mm_xor_si128(c2[2689],c2[2509])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[126]=simde_mm_xor_si128(c2[908],simde_mm_xor_si128(c2[728],simde_mm_xor_si128(c2[546],simde_mm_xor_si128(c2[720],simde_mm_xor_si128(c2[547],simde_mm_xor_si128(c2[5],simde_mm_xor_si128(c2[2702],simde_mm_xor_si128(c2[2178],simde_mm_xor_si128(c2[1998],simde_mm_xor_si128(c2[1825],simde_mm_xor_si128(c2[2003],simde_mm_xor_si128(c2[1821],simde_mm_xor_si128(c2[1644],simde_mm_xor_si128(c2[1642],simde_mm_xor_si128(c2[1462],simde_mm_xor_si128(c2[2726],simde_mm_xor_si128(c2[1298],simde_mm_xor_si128(c2[1118],simde_mm_xor_si128(c2[936],simde_mm_xor_si128(c2[1842],simde_mm_xor_si128(c2[1840],simde_mm_xor_si128(c2[1660],simde_mm_xor_si128(c2[955],simde_mm_xor_si128(c2[775],simde_mm_xor_si128(c2[602],simde_mm_xor_si128(c2[2758],simde_mm_xor_si128(c2[2576],simde_mm_xor_si128(c2[2398],simde_mm_xor_si128(c2[2216],simde_mm_xor_si128(c2[1697],simde_mm_xor_si128(c2[1515],simde_mm_xor_si128(c2[2777],simde_mm_xor_si128(c2[2595],simde_mm_xor_si128(c2[1332],simde_mm_xor_si128(c2[1339],simde_mm_xor_si128(c2[1159],simde_mm_xor_si128(c2[633],simde_mm_xor_si128(c2[451],simde_mm_xor_si128(c2[998],simde_mm_xor_si128(c2[996],simde_mm_xor_si128(c2[816],simde_mm_xor_si128(c2[1014],simde_mm_xor_si128(c2[834],simde_mm_xor_si128(c2[652],simde_mm_xor_si128(c2[1012],simde_mm_xor_si128(c2[830],simde_mm_xor_si128(c2[1911],simde_mm_xor_si128(c2[1909],simde_mm_xor_si128(c2[1729],simde_mm_xor_si128(c2[651],simde_mm_xor_si128(c2[671],simde_mm_xor_si128(c2[489],simde_mm_xor_si128(c2[488],simde_mm_xor_si128(c2[486],simde_mm_xor_si128(c2[306],simde_mm_xor_si128(c2[1227],simde_mm_xor_si128(c2[1045],simde_mm_xor_si128(c2[150],simde_mm_xor_si128(c2[2847],simde_mm_xor_si128(c2[331],simde_mm_xor_si128(c2[329],simde_mm_xor_si128(c2[149],simde_mm_xor_si128(c2[349],simde_mm_xor_si128(c2[169],simde_mm_xor_si128(c2[2866],simde_mm_xor_si128(c2[704],simde_mm_xor_si128(c2[522],simde_mm_xor_si128(c2[166],simde_mm_xor_si128(c2[164],c2[2863])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[135]=simde_mm_xor_si128(c2[366],simde_mm_xor_si128(c2[548],simde_mm_xor_si128(c2[368],simde_mm_xor_si128(c2[367],simde_mm_xor_si128(c2[360],simde_mm_xor_si128(c2[2522],simde_mm_xor_si128(c2[2524],simde_mm_xor_si128(c2[1988],simde_mm_xor_si128(c2[1645],simde_mm_xor_si128(c2[1818],simde_mm_xor_si128(c2[1638],simde_mm_xor_si128(c2[1641],simde_mm_xor_si128(c2[1643],simde_mm_xor_si128(c2[1282],simde_mm_xor_si128(c2[1284],simde_mm_xor_si128(c2[756],simde_mm_xor_si128(c2[938],simde_mm_xor_si128(c2[758],simde_mm_xor_si128(c2[1480],simde_mm_xor_si128(c2[1482],simde_mm_xor_si128(c2[422],simde_mm_xor_si128(c2[595],simde_mm_xor_si128(c2[415],simde_mm_xor_si128(c2[2396],simde_mm_xor_si128(c2[2398],simde_mm_xor_si128(c2[2036],simde_mm_xor_si128(c2[2038],simde_mm_xor_si128(c2[1335],simde_mm_xor_si128(c2[1337],simde_mm_xor_si128(c2[2415],simde_mm_xor_si128(c2[2417],simde_mm_xor_si128(c2[979],simde_mm_xor_si128(c2[972],simde_mm_xor_si128(c2[271],simde_mm_xor_si128(c2[273],simde_mm_xor_si128(c2[636],simde_mm_xor_si128(c2[638],simde_mm_xor_si128(c2[472],simde_mm_xor_si128(c2[654],simde_mm_xor_si128(c2[474],simde_mm_xor_si128(c2[650],simde_mm_xor_si128(c2[652],simde_mm_xor_si128(c2[1549],simde_mm_xor_si128(c2[1551],simde_mm_xor_si128(c2[309],simde_mm_xor_si128(c2[311],simde_mm_xor_si128(c2[126],simde_mm_xor_si128(c2[128],simde_mm_xor_si128(c2[865],simde_mm_xor_si128(c2[867],simde_mm_xor_si128(c2[2667],simde_mm_xor_si128(c2[2669],simde_mm_xor_si128(c2[2848],simde_mm_xor_si128(c2[2850],simde_mm_xor_si128(c2[2686],simde_mm_xor_si128(c2[2868],simde_mm_xor_si128(c2[2688],simde_mm_xor_si128(c2[342],simde_mm_xor_si128(c2[344],simde_mm_xor_si128(c2[2683],c2[2685]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[144]=simde_mm_xor_si128(c2[2701],simde_mm_xor_si128(c2[2521],simde_mm_xor_si128(c2[1980],simde_mm_xor_si128(c2[1800],simde_mm_xor_si128(c2[2522],simde_mm_xor_si128(c2[1981],simde_mm_xor_si128(c2[1801],simde_mm_xor_si128(c2[1807],simde_mm_xor_si128(c2[1086],simde_mm_xor_si128(c2[1101],simde_mm_xor_si128(c2[921],simde_mm_xor_si128(c2[380],simde_mm_xor_si128(c2[200],simde_mm_xor_si128(c2[926],simde_mm_xor_si128(c2[205],simde_mm_xor_si128(c2[558],simde_mm_xor_si128(c2[2725],simde_mm_xor_si128(c2[21],simde_mm_xor_si128(c2[221],simde_mm_xor_si128(c2[41],simde_mm_xor_si128(c2[2379],simde_mm_xor_si128(c2[2199],simde_mm_xor_si128(c2[756],simde_mm_xor_si128(c2[44],simde_mm_xor_si128(c2[2757],simde_mm_xor_si128(c2[2577],simde_mm_xor_si128(c2[2036],simde_mm_xor_si128(c2[1856],simde_mm_xor_si128(c2[1681],simde_mm_xor_si128(c2[1140],simde_mm_xor_si128(c2[960],simde_mm_xor_si128(c2[1321],simde_mm_xor_si128(c2[600],simde_mm_xor_si128(c2[620],simde_mm_xor_si128(c2[79],simde_mm_xor_si128(c2[2778],simde_mm_xor_si128(c2[1700],simde_mm_xor_si128(c2[979],simde_mm_xor_si128(c2[255],simde_mm_xor_si128(c2[2413],simde_mm_xor_si128(c2[2435],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[1714],simde_mm_xor_si128(c2[2791],simde_mm_xor_si128(c2[2070],simde_mm_xor_si128(c2[2816],simde_mm_xor_si128(c2[2636],simde_mm_xor_si128(c2[2095],simde_mm_xor_si128(c2[1915],simde_mm_xor_si128(c2[2814],simde_mm_xor_si128(c2[2273],simde_mm_xor_si128(c2[2093],simde_mm_xor_si128(c2[834],simde_mm_xor_si128(c2[113],simde_mm_xor_si128(c2[2473],simde_mm_xor_si128(c2[1932],simde_mm_xor_si128(c2[1752],simde_mm_xor_si128(c2[2290],simde_mm_xor_si128(c2[1569],simde_mm_xor_si128(c2[150],simde_mm_xor_si128(c2[2488],simde_mm_xor_si128(c2[2308],simde_mm_xor_si128(c2[1952],simde_mm_xor_si128(c2[1231],simde_mm_xor_si128(c2[2124],simde_mm_xor_si128(c2[1412],simde_mm_xor_si128(c2[2142],simde_mm_xor_si128(c2[1962],simde_mm_xor_si128(c2[1430],simde_mm_xor_si128(c2[1250],simde_mm_xor_si128(c2[2506],simde_mm_xor_si128(c2[1965],simde_mm_xor_si128(c2[1785],simde_mm_xor_si128(c2[1968],simde_mm_xor_si128(c2[1247],c2[1782])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[153]=simde_mm_xor_si128(c2[724],simde_mm_xor_si128(c2[544],simde_mm_xor_si128(c2[2342],simde_mm_xor_si128(c2[2162],simde_mm_xor_si128(c2[545],simde_mm_xor_si128(c2[2343],simde_mm_xor_si128(c2[2163],simde_mm_xor_si128(c2[2700],simde_mm_xor_si128(c2[1448],simde_mm_xor_si128(c2[2003],simde_mm_xor_si128(c2[1823],simde_mm_xor_si128(c2[742],simde_mm_xor_si128(c2[562],simde_mm_xor_si128(c2[1819],simde_mm_xor_si128(c2[558],simde_mm_xor_si128(c2[1460],simde_mm_xor_si128(c2[199],simde_mm_xor_si128(c2[1465],simde_mm_xor_si128(c2[1123],simde_mm_xor_si128(c2[943],simde_mm_xor_si128(c2[2741],simde_mm_xor_si128(c2[2561],simde_mm_xor_si128(c2[1658],simde_mm_xor_si128(c2[397],simde_mm_xor_si128(c2[780],simde_mm_xor_si128(c2[600],simde_mm_xor_si128(c2[2398],simde_mm_xor_si128(c2[2218],simde_mm_xor_si128(c2[2574],simde_mm_xor_si128(c2[1502],simde_mm_xor_si128(c2[1322],simde_mm_xor_si128(c2[2214],simde_mm_xor_si128(c2[962],simde_mm_xor_si128(c2[1513],simde_mm_xor_si128(c2[432],simde_mm_xor_si128(c2[252],simde_mm_xor_si128(c2[2593],simde_mm_xor_si128(c2[1332],simde_mm_xor_si128(c2[1157],simde_mm_xor_si128(c2[2775],simde_mm_xor_si128(c2[458],simde_mm_xor_si128(c2[2256],simde_mm_xor_si128(c2[2076],simde_mm_xor_si128(c2[814],simde_mm_xor_si128(c2[2432],simde_mm_xor_si128(c2[2072],simde_mm_xor_si128(c2[830],simde_mm_xor_si128(c2[650],simde_mm_xor_si128(c2[2448],simde_mm_xor_si128(c2[2268],simde_mm_xor_si128(c2[828],simde_mm_xor_si128(c2[2635],simde_mm_xor_si128(c2[2455],simde_mm_xor_si128(c2[1736],simde_mm_xor_si128(c2[475],simde_mm_xor_si128(c2[487],simde_mm_xor_si128(c2[2294],simde_mm_xor_si128(c2[2114],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[1931],simde_mm_xor_si128(c2[1052],simde_mm_xor_si128(c2[2850],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[2845],simde_mm_xor_si128(c2[1584],simde_mm_xor_si128(c2[147],simde_mm_xor_si128(c2[1765],simde_mm_xor_si128(c2[165],simde_mm_xor_si128(c2[2864],simde_mm_xor_si128(c2[1783],simde_mm_xor_si128(c2[1603],simde_mm_xor_si128(c2[529],simde_mm_xor_si128(c2[2327],simde_mm_xor_si128(c2[2147],simde_mm_xor_si128(c2[2870],c2[1609])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[162]=simde_mm_xor_si128(c2[181],simde_mm_xor_si128(c2[1914],c2[2654]));
|
|
|
|
//row: 19
|
|
d2[171]=simde_mm_xor_si128(c2[1982],simde_mm_xor_si128(c2[1983],simde_mm_xor_si128(c2[1268],simde_mm_xor_si128(c2[2704],simde_mm_xor_si128(c2[382],simde_mm_xor_si128(c2[378],simde_mm_xor_si128(c2[19],simde_mm_xor_si128(c2[2179],simde_mm_xor_si128(c2[2381],simde_mm_xor_si128(c2[217],simde_mm_xor_si128(c2[2038],simde_mm_xor_si128(c2[1142],simde_mm_xor_si128(c2[782],simde_mm_xor_si128(c2[72],simde_mm_xor_si128(c2[1152],simde_mm_xor_si128(c2[2595],simde_mm_xor_si128(c2[1896],simde_mm_xor_si128(c2[2252],simde_mm_xor_si128(c2[2088],simde_mm_xor_si128(c2[2275],simde_mm_xor_si128(c2[295],simde_mm_xor_si128(c2[1934],simde_mm_xor_si128(c2[1751],simde_mm_xor_si128(c2[2490],simde_mm_xor_si128(c2[1404],simde_mm_xor_si128(c2[1585],simde_mm_xor_si128(c2[1423],simde_mm_xor_si128(c2[1967],c2[1429]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[180]=simde_mm_xor_si128(c2[185],simde_mm_xor_si128(c2[5],simde_mm_xor_si128(c2[6],simde_mm_xor_si128(c2[2161],simde_mm_xor_si128(c2[1464],simde_mm_xor_si128(c2[1284],simde_mm_xor_si128(c2[1280],simde_mm_xor_si128(c2[921],simde_mm_xor_si128(c2[378],simde_mm_xor_si128(c2[584],simde_mm_xor_si128(c2[404],simde_mm_xor_si128(c2[1119],simde_mm_xor_si128(c2[241],simde_mm_xor_si128(c2[61],simde_mm_xor_si128(c2[2035],simde_mm_xor_si128(c2[1675],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[2054],simde_mm_xor_si128(c2[618],simde_mm_xor_si128(c2[1338],simde_mm_xor_si128(c2[2798],simde_mm_xor_si128(c2[275],simde_mm_xor_si128(c2[291],simde_mm_xor_si128(c2[111],simde_mm_xor_si128(c2[289],simde_mm_xor_si128(c2[1188],simde_mm_xor_si128(c2[2827],simde_mm_xor_si128(c2[2653],simde_mm_xor_si128(c2[504],simde_mm_xor_si128(c2[2306],simde_mm_xor_si128(c2[2487],simde_mm_xor_si128(c2[2505],simde_mm_xor_si128(c2[2325],simde_mm_xor_si128(c2[2869],c2[2322]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[189]=simde_mm_xor_si128(c2[545],simde_mm_xor_si128(c2[546],simde_mm_xor_si128(c2[2701],simde_mm_xor_si128(c2[1985],simde_mm_xor_si128(c2[1824],simde_mm_xor_si128(c2[1820],simde_mm_xor_si128(c2[1641],simde_mm_xor_si128(c2[1461],simde_mm_xor_si128(c2[944],simde_mm_xor_si128(c2[1839],simde_mm_xor_si128(c2[1659],simde_mm_xor_si128(c2[601],simde_mm_xor_si128(c2[2575],simde_mm_xor_si128(c2[2215],simde_mm_xor_si128(c2[1514],simde_mm_xor_si128(c2[2594],simde_mm_xor_si128(c2[1338],simde_mm_xor_si128(c2[1158],simde_mm_xor_si128(c2[450],simde_mm_xor_si128(c2[995],simde_mm_xor_si128(c2[815],simde_mm_xor_si128(c2[651],simde_mm_xor_si128(c2[829],simde_mm_xor_si128(c2[1908],simde_mm_xor_si128(c2[1728],simde_mm_xor_si128(c2[488],simde_mm_xor_si128(c2[494],simde_mm_xor_si128(c2[314],simde_mm_xor_si128(c2[1044],simde_mm_xor_si128(c2[2846],simde_mm_xor_si128(c2[328],simde_mm_xor_si128(c2[148],simde_mm_xor_si128(c2[2128],simde_mm_xor_si128(c2[2865],simde_mm_xor_si128(c2[530],simde_mm_xor_si128(c2[163],c2[2862]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[198]=simde_mm_xor_si128(c2[1101],c2[764]);
|
|
|
|
//row: 23
|
|
d2[207]=simde_mm_xor_si128(c2[724],simde_mm_xor_si128(c2[601],c2[1533]));
|
|
|
|
//row: 24
|
|
d2[216]=simde_mm_xor_si128(c2[2539],simde_mm_xor_si128(c2[1838],c2[1068]));
|
|
|
|
//row: 25
|
|
d2[225]=simde_mm_xor_si128(c2[8],c2[2793]);
|
|
|
|
//row: 26
|
|
d2[234]=simde_mm_xor_si128(c2[1266],simde_mm_xor_si128(c2[1086],simde_mm_xor_si128(c2[1268],simde_mm_xor_si128(c2[1267],simde_mm_xor_si128(c2[1087],simde_mm_xor_si128(c2[1260],simde_mm_xor_si128(c2[363],simde_mm_xor_si128(c2[545],simde_mm_xor_si128(c2[2545],simde_mm_xor_si128(c2[2365],simde_mm_xor_si128(c2[2538],simde_mm_xor_si128(c2[2361],simde_mm_xor_si128(c2[2543],simde_mm_xor_si128(c2[2002],simde_mm_xor_si128(c2[2364],simde_mm_xor_si128(c2[2184],simde_mm_xor_si128(c2[1656],simde_mm_xor_si128(c2[1476],simde_mm_xor_si128(c2[1658],simde_mm_xor_si128(c2[2200],simde_mm_xor_si128(c2[2562],simde_mm_xor_si128(c2[2382],simde_mm_xor_si128(c2[2564],simde_mm_xor_si128(c2[1322],simde_mm_xor_si128(c2[1142],simde_mm_xor_si128(c2[1315],simde_mm_xor_si128(c2[417],simde_mm_xor_si128(c2[237],simde_mm_xor_si128(c2[419],simde_mm_xor_si128(c2[2756],simde_mm_xor_si128(c2[59],simde_mm_xor_si128(c2[2235],simde_mm_xor_si128(c2[2055],simde_mm_xor_si128(c2[2237],simde_mm_xor_si128(c2[256],simde_mm_xor_si128(c2[438],simde_mm_xor_si128(c2[1699],simde_mm_xor_si128(c2[2052],simde_mm_xor_si128(c2[1872],simde_mm_xor_si128(c2[1171],simde_mm_xor_si128(c2[991],simde_mm_xor_si128(c2[1173],simde_mm_xor_si128(c2[1356],simde_mm_xor_si128(c2[1718],simde_mm_xor_si128(c2[1538],simde_mm_xor_si128(c2[1372],simde_mm_xor_si128(c2[1192],simde_mm_xor_si128(c2[1374],simde_mm_xor_si128(c2[1550],simde_mm_xor_si128(c2[1370],simde_mm_xor_si128(c2[1552],simde_mm_xor_si128(c2[2269],simde_mm_xor_si128(c2[2631],simde_mm_xor_si128(c2[2451],simde_mm_xor_si128(c2[1209],simde_mm_xor_si128(c2[1029],simde_mm_xor_si128(c2[1211],simde_mm_xor_si128(c2[846],simde_mm_xor_si128(c2[1208],simde_mm_xor_si128(c2[1028],simde_mm_xor_si128(c2[2287],simde_mm_xor_si128(c2[1765],simde_mm_xor_si128(c2[1585],simde_mm_xor_si128(c2[1767],simde_mm_xor_si128(c2[508],simde_mm_xor_si128(c2[690],simde_mm_xor_si128(c2[689],simde_mm_xor_si128(c2[1051],simde_mm_xor_si128(c2[871],simde_mm_xor_si128(c2[707],simde_mm_xor_si128(c2[527],simde_mm_xor_si128(c2[709],simde_mm_xor_si128(c2[1242],simde_mm_xor_si128(c2[1062],simde_mm_xor_si128(c2[1244],simde_mm_xor_si128(c2[524],simde_mm_xor_si128(c2[886],c2[706])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[243]=simde_mm_xor_si128(c2[2340],c2[1908]);
|
|
|
|
//row: 28
|
|
d2[252]=simde_mm_xor_si128(c2[1824],simde_mm_xor_si128(c2[2380],c2[2072]));
|
|
|
|
//row: 29
|
|
d2[261]=simde_mm_xor_si128(c2[908],c2[1693]);
|
|
|
|
//row: 30
|
|
d2[270]=simde_mm_xor_si128(c2[1301],simde_mm_xor_si128(c2[1533],simde_mm_xor_si128(c2[1572],c2[1246])));
|
|
|
|
//row: 31
|
|
d2[279]=simde_mm_xor_si128(c2[2348],simde_mm_xor_si128(c2[2340],simde_mm_xor_si128(c2[1625],simde_mm_xor_si128(c2[739],simde_mm_xor_si128(c2[744],simde_mm_xor_si128(c2[565],simde_mm_xor_si128(c2[385],simde_mm_xor_si128(c2[23],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[763],simde_mm_xor_si128(c2[583],simde_mm_xor_si128(c2[2395],simde_mm_xor_si128(c2[1499],simde_mm_xor_si128(c2[1139],simde_mm_xor_si128(c2[438],simde_mm_xor_si128(c2[1518],simde_mm_xor_si128(c2[253],simde_mm_xor_si128(c2[73],simde_mm_xor_si128(c2[2253],simde_mm_xor_si128(c2[2798],simde_mm_xor_si128(c2[2618],simde_mm_xor_si128(c2[2454],simde_mm_xor_si128(c2[2632],simde_mm_xor_si128(c2[832],simde_mm_xor_si128(c2[652],simde_mm_xor_si128(c2[2291],simde_mm_xor_si128(c2[2288],simde_mm_xor_si128(c2[2108],simde_mm_xor_si128(c2[2847],simde_mm_xor_si128(c2[1770],simde_mm_xor_si128(c2[2131],simde_mm_xor_si128(c2[1951],simde_mm_xor_si128(c2[1789],simde_mm_xor_si128(c2[2324],simde_mm_xor_si128(c2[1966],c2[1786])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[288]=simde_mm_xor_si128(c2[1804],simde_mm_xor_si128(c2[1624],simde_mm_xor_si128(c2[1805],simde_mm_xor_si128(c2[1625],simde_mm_xor_si128(c2[901],simde_mm_xor_si128(c2[2],simde_mm_xor_si128(c2[204],simde_mm_xor_si128(c2[24],simde_mm_xor_si128(c2[20],simde_mm_xor_si128(c2[2540],simde_mm_xor_si128(c2[2203],simde_mm_xor_si128(c2[2023],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[1860],simde_mm_xor_si128(c2[1680],simde_mm_xor_si128(c2[955],simde_mm_xor_si128(c2[775],simde_mm_xor_si128(c2[415],simde_mm_xor_si128(c2[2773],simde_mm_xor_si128(c2[2593],simde_mm_xor_si128(c2[794],simde_mm_xor_si128(c2[2237],simde_mm_xor_si128(c2[1718],simde_mm_xor_si128(c2[1538],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[1715],simde_mm_xor_si128(c2[1910],simde_mm_xor_si128(c2[1730],simde_mm_xor_si128(c2[2088],simde_mm_xor_si128(c2[1908],simde_mm_xor_si128(c2[2816],simde_mm_xor_si128(c2[1747],simde_mm_xor_si128(c2[1567],simde_mm_xor_si128(c2[1393],simde_mm_xor_si128(c2[2312],simde_mm_xor_si128(c2[2132],simde_mm_xor_si128(c2[1046],simde_mm_xor_si128(c2[1227],simde_mm_xor_si128(c2[1245],simde_mm_xor_si128(c2[1065],simde_mm_xor_si128(c2[1789],simde_mm_xor_si128(c2[1609],c2[1062]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[297]=simde_mm_xor_si128(c2[720],simde_mm_xor_si128(c2[721],simde_mm_xor_si128(c2[6],simde_mm_xor_si128(c2[1999],simde_mm_xor_si128(c2[2004],simde_mm_xor_si128(c2[1645],simde_mm_xor_si128(c2[1119],simde_mm_xor_si128(c2[1843],simde_mm_xor_si128(c2[1304],simde_mm_xor_si128(c2[776],simde_mm_xor_si128(c2[2759],simde_mm_xor_si128(c2[2399],simde_mm_xor_si128(c2[1698],simde_mm_xor_si128(c2[2778],simde_mm_xor_si128(c2[1333],simde_mm_xor_si128(c2[634],simde_mm_xor_si128(c2[990],simde_mm_xor_si128(c2[835],simde_mm_xor_si128(c2[1013],simde_mm_xor_si128(c2[1912],simde_mm_xor_si128(c2[672],simde_mm_xor_si128(c2[489],simde_mm_xor_si128(c2[1206],simde_mm_xor_si128(c2[1228],simde_mm_xor_si128(c2[151],simde_mm_xor_si128(c2[332],simde_mm_xor_si128(c2[170],simde_mm_xor_si128(c2[705],c2[167]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[306]=simde_mm_xor_si128(c2[2161],simde_mm_xor_si128(c2[1981],simde_mm_xor_si128(c2[727],simde_mm_xor_si128(c2[2162],simde_mm_xor_si128(c2[1982],simde_mm_xor_si128(c2[728],simde_mm_xor_si128(c2[1267],simde_mm_xor_si128(c2[4],simde_mm_xor_si128(c2[902],simde_mm_xor_si128(c2[561],simde_mm_xor_si128(c2[381],simde_mm_xor_si128(c2[2006],simde_mm_xor_si128(c2[386],simde_mm_xor_si128(c2[2002],simde_mm_xor_si128(c2[18],simde_mm_xor_si128(c2[1823],simde_mm_xor_si128(c2[1643],simde_mm_xor_si128(c2[2560],simde_mm_xor_si128(c2[2380],simde_mm_xor_si128(c2[1117],simde_mm_xor_si128(c2[216],simde_mm_xor_si128(c2[2021],simde_mm_xor_si128(c2[1841],simde_mm_xor_si128(c2[2217],simde_mm_xor_si128(c2[2037],simde_mm_xor_si128(c2[774],simde_mm_xor_si128(c2[1321],simde_mm_xor_si128(c2[1141],simde_mm_xor_si128(c2[2757],simde_mm_xor_si128(c2[781],simde_mm_xor_si128(c2[2397],simde_mm_xor_si128(c2[260],simde_mm_xor_si128(c2[80],simde_mm_xor_si128(c2[1696],simde_mm_xor_si128(c2[1160],simde_mm_xor_si128(c2[2776],simde_mm_xor_si128(c2[2594],simde_mm_xor_si128(c2[1520],simde_mm_xor_si128(c2[1340],simde_mm_xor_si128(c2[2075],simde_mm_xor_si128(c2[1895],simde_mm_xor_si128(c2[632],simde_mm_xor_si128(c2[2251],simde_mm_xor_si128(c2[1177],simde_mm_xor_si128(c2[997],simde_mm_xor_si128(c2[2276],simde_mm_xor_si128(c2[2096],simde_mm_xor_si128(c2[833],simde_mm_xor_si128(c2[2454],simde_mm_xor_si128(c2[2274],simde_mm_xor_si128(c2[1011],simde_mm_xor_si128(c2[294],simde_mm_xor_si128(c2[2090],simde_mm_xor_si128(c2[1910],simde_mm_xor_si128(c2[2113],simde_mm_xor_si128(c2[1933],simde_mm_xor_si128(c2[670],simde_mm_xor_si128(c2[1750],simde_mm_xor_si128(c2[667],simde_mm_xor_si128(c2[487],simde_mm_xor_si128(c2[2669],simde_mm_xor_si128(c2[2489],simde_mm_xor_si128(c2[1226],simde_mm_xor_si128(c2[1412],simde_mm_xor_si128(c2[149],simde_mm_xor_si128(c2[1584],simde_mm_xor_si128(c2[510],simde_mm_xor_si128(c2[330],simde_mm_xor_si128(c2[1602],simde_mm_xor_si128(c2[1422],simde_mm_xor_si128(c2[168],simde_mm_xor_si128(c2[2146],simde_mm_xor_si128(c2[1966],simde_mm_xor_si128(c2[703],simde_mm_xor_si128(c2[1428],simde_mm_xor_si128(c2[345],c2[165]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[315]=simde_mm_xor_si128(c2[6],simde_mm_xor_si128(c2[2705],simde_mm_xor_si128(c2[2706],simde_mm_xor_si128(c2[1982],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[1105],simde_mm_xor_si128(c2[1101],simde_mm_xor_si128(c2[742],simde_mm_xor_si128(c2[2181],simde_mm_xor_si128(c2[396],simde_mm_xor_si128(c2[216],simde_mm_xor_si128(c2[940],simde_mm_xor_si128(c2[62],simde_mm_xor_si128(c2[2761],simde_mm_xor_si128(c2[1856],simde_mm_xor_si128(c2[1496],simde_mm_xor_si128(c2[795],simde_mm_xor_si128(c2[1875],simde_mm_xor_si128(c2[439],simde_mm_xor_si128(c2[2610],simde_mm_xor_si128(c2[96],simde_mm_xor_si128(c2[1718],simde_mm_xor_si128(c2[112],simde_mm_xor_si128(c2[2811],simde_mm_xor_si128(c2[110],simde_mm_xor_si128(c2[1009],simde_mm_xor_si128(c2[2648],simde_mm_xor_si128(c2[2474],simde_mm_xor_si128(c2[325],simde_mm_xor_si128(c2[2127],simde_mm_xor_si128(c2[2308],simde_mm_xor_si128(c2[2326],simde_mm_xor_si128(c2[2146],simde_mm_xor_si128(c2[2690],c2[2143]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[324]=simde_mm_xor_si128(c2[1627],simde_mm_xor_si128(c2[224],c2[1927]));
|
|
|
|
//row: 37
|
|
d2[333]=simde_mm_xor_si128(c2[546],simde_mm_xor_si128(c2[1803],simde_mm_xor_si128(c2[547],simde_mm_xor_si128(c2[1804],simde_mm_xor_si128(c2[2702],simde_mm_xor_si128(c2[1080],simde_mm_xor_si128(c2[1825],simde_mm_xor_si128(c2[203],simde_mm_xor_si128(c2[1821],simde_mm_xor_si128(c2[199],simde_mm_xor_si128(c2[1462],simde_mm_xor_si128(c2[20],simde_mm_xor_si128(c2[2719],simde_mm_xor_si128(c2[936],simde_mm_xor_si128(c2[2202],simde_mm_xor_si128(c2[1660],simde_mm_xor_si128(c2[218],simde_mm_xor_si128(c2[38],simde_mm_xor_si128(c2[602],simde_mm_xor_si128(c2[1859],simde_mm_xor_si128(c2[2576],simde_mm_xor_si128(c2[954],simde_mm_xor_si128(c2[2216],simde_mm_xor_si128(c2[594],simde_mm_xor_si128(c2[1515],simde_mm_xor_si128(c2[2772],simde_mm_xor_si128(c2[2595],simde_mm_xor_si128(c2[973],simde_mm_xor_si128(c2[1159],simde_mm_xor_si128(c2[2596],simde_mm_xor_si128(c2[2416],simde_mm_xor_si128(c2[451],simde_mm_xor_si128(c2[1717],simde_mm_xor_si128(c2[816],simde_mm_xor_si128(c2[2253],simde_mm_xor_si128(c2[2073],simde_mm_xor_si128(c2[652],simde_mm_xor_si128(c2[1909],simde_mm_xor_si128(c2[830],simde_mm_xor_si128(c2[2096],simde_mm_xor_si128(c2[1729],simde_mm_xor_si128(c2[296],simde_mm_xor_si128(c2[116],simde_mm_xor_si128(c2[489],simde_mm_xor_si128(c2[1746],simde_mm_xor_si128(c2[306],simde_mm_xor_si128(c2[1752],simde_mm_xor_si128(c2[1572],simde_mm_xor_si128(c2[1045],simde_mm_xor_si128(c2[2311],simde_mm_xor_si128(c2[2847],simde_mm_xor_si128(c2[1225],simde_mm_xor_si128(c2[149],simde_mm_xor_si128(c2[1586],simde_mm_xor_si128(c2[1406],simde_mm_xor_si128(c2[2866],simde_mm_xor_si128(c2[1244],simde_mm_xor_si128(c2[522],simde_mm_xor_si128(c2[1788],simde_mm_xor_si128(c2[2863],simde_mm_xor_si128(c2[1430],c2[1250])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[342]=simde_mm_xor_si128(c2[720],simde_mm_xor_si128(c2[540],simde_mm_xor_si128(c2[541],simde_mm_xor_si128(c2[2705],simde_mm_xor_si128(c2[1999],simde_mm_xor_si128(c2[1819],simde_mm_xor_si128(c2[1824],simde_mm_xor_si128(c2[1465],simde_mm_xor_si128(c2[198],simde_mm_xor_si128(c2[1119],simde_mm_xor_si128(c2[939],simde_mm_xor_si128(c2[1663],simde_mm_xor_si128(c2[776],simde_mm_xor_si128(c2[596],simde_mm_xor_si128(c2[2579],simde_mm_xor_si128(c2[2219],simde_mm_xor_si128(c2[1518],simde_mm_xor_si128(c2[2598],simde_mm_xor_si128(c2[1153],simde_mm_xor_si128(c2[454],simde_mm_xor_si128(c2[810],simde_mm_xor_si128(c2[1174],simde_mm_xor_si128(c2[835],simde_mm_xor_si128(c2[655],simde_mm_xor_si128(c2[833],simde_mm_xor_si128(c2[1732],simde_mm_xor_si128(c2[492],simde_mm_xor_si128(c2[309],simde_mm_xor_si128(c2[1048],simde_mm_xor_si128(c2[2850],simde_mm_xor_si128(c2[152],simde_mm_xor_si128(c2[170],simde_mm_xor_si128(c2[2869],simde_mm_xor_si128(c2[525],c2[2866]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[351]=simde_mm_xor_si128(c2[180],simde_mm_xor_si128(c2[0],simde_mm_xor_si128(c2[181],simde_mm_xor_si128(c2[1],simde_mm_xor_si128(c2[2165],simde_mm_xor_si128(c2[1267],simde_mm_xor_si128(c2[1459],simde_mm_xor_si128(c2[1279],simde_mm_xor_si128(c2[1284],simde_mm_xor_si128(c2[925],simde_mm_xor_si128(c2[579],simde_mm_xor_si128(c2[399],simde_mm_xor_si128(c2[1123],simde_mm_xor_si128(c2[236],simde_mm_xor_si128(c2[56],simde_mm_xor_si128(c2[2219],simde_mm_xor_si128(c2[2039],simde_mm_xor_si128(c2[1679],simde_mm_xor_si128(c2[1158],simde_mm_xor_si128(c2[978],simde_mm_xor_si128(c2[2058],simde_mm_xor_si128(c2[613],simde_mm_xor_si128(c2[94],simde_mm_xor_si128(c2[2793],simde_mm_xor_si128(c2[270],simde_mm_xor_si128(c2[295],simde_mm_xor_si128(c2[115],simde_mm_xor_si128(c2[473],simde_mm_xor_si128(c2[293],simde_mm_xor_si128(c2[1192],simde_mm_xor_si128(c2[132],simde_mm_xor_si128(c2[2831],simde_mm_xor_si128(c2[2648],simde_mm_xor_si128(c2[128],simde_mm_xor_si128(c2[688],simde_mm_xor_si128(c2[508],simde_mm_xor_si128(c2[2310],simde_mm_xor_si128(c2[2491],simde_mm_xor_si128(c2[2509],simde_mm_xor_si128(c2[2329],simde_mm_xor_si128(c2[165],simde_mm_xor_si128(c2[2864],c2[2326]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[360]=simde_mm_xor_si128(c2[1984],simde_mm_xor_si128(c2[1446],simde_mm_xor_si128(c2[1985],simde_mm_xor_si128(c2[1447],simde_mm_xor_si128(c2[1261],simde_mm_xor_si128(c2[723],simde_mm_xor_si128(c2[384],simde_mm_xor_si128(c2[2725],simde_mm_xor_si128(c2[380],simde_mm_xor_si128(c2[2721],simde_mm_xor_si128(c2[21],simde_mm_xor_si128(c2[2542],simde_mm_xor_si128(c2[2362],simde_mm_xor_si128(c2[2383],simde_mm_xor_si128(c2[1836],simde_mm_xor_si128(c2[219],simde_mm_xor_si128(c2[2740],simde_mm_xor_si128(c2[2560],simde_mm_xor_si128(c2[1116],simde_mm_xor_si128(c2[2040],simde_mm_xor_si128(c2[1502],simde_mm_xor_si128(c2[1135],simde_mm_xor_si128(c2[597],simde_mm_xor_si128(c2[775],simde_mm_xor_si128(c2[237],simde_mm_xor_si128(c2[74],simde_mm_xor_si128(c2[2415],simde_mm_xor_si128(c2[1154],simde_mm_xor_si128(c2[616],simde_mm_xor_si128(c2[2597],simde_mm_xor_si128(c2[2239],simde_mm_xor_si128(c2[2059],simde_mm_xor_si128(c2[1898],simde_mm_xor_si128(c2[1351],simde_mm_xor_si128(c2[2254],simde_mm_xor_si128(c2[1896],simde_mm_xor_si128(c2[1716],simde_mm_xor_si128(c2[2090],simde_mm_xor_si128(c2[1552],simde_mm_xor_si128(c2[2268],simde_mm_xor_si128(c2[1730],simde_mm_xor_si128(c2[288],simde_mm_xor_si128(c2[2809],simde_mm_xor_si128(c2[2629],simde_mm_xor_si128(c2[1927],simde_mm_xor_si128(c2[1389],simde_mm_xor_si128(c2[1753],simde_mm_xor_si128(c2[1386],simde_mm_xor_si128(c2[1206],simde_mm_xor_si128(c2[2492],simde_mm_xor_si128(c2[1945],simde_mm_xor_si128(c2[1406],simde_mm_xor_si128(c2[868],simde_mm_xor_si128(c2[1587],simde_mm_xor_si128(c2[1229],simde_mm_xor_si128(c2[1049],simde_mm_xor_si128(c2[1425],simde_mm_xor_si128(c2[887],simde_mm_xor_si128(c2[1969],simde_mm_xor_si128(c2[1422],simde_mm_xor_si128(c2[1422],simde_mm_xor_si128(c2[1064],c2[884]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[369]=simde_mm_xor_si128(c2[1081],simde_mm_xor_si128(c2[901],simde_mm_xor_si128(c2[902],simde_mm_xor_si128(c2[187],simde_mm_xor_si128(c2[2360],simde_mm_xor_si128(c2[2180],simde_mm_xor_si128(c2[2185],simde_mm_xor_si128(c2[1826],simde_mm_xor_si128(c2[21],simde_mm_xor_si128(c2[1480],simde_mm_xor_si128(c2[1300],simde_mm_xor_si128(c2[2024],simde_mm_xor_si128(c2[1137],simde_mm_xor_si128(c2[957],simde_mm_xor_si128(c2[61],simde_mm_xor_si128(c2[2580],simde_mm_xor_si128(c2[1879],simde_mm_xor_si128(c2[80],simde_mm_xor_si128(c2[1514],simde_mm_xor_si128(c2[815],simde_mm_xor_si128(c2[1171],simde_mm_xor_si128(c2[2792],simde_mm_xor_si128(c2[1196],simde_mm_xor_si128(c2[1016],simde_mm_xor_si128(c2[1194],simde_mm_xor_si128(c2[2093],simde_mm_xor_si128(c2[853],simde_mm_xor_si128(c2[670],simde_mm_xor_si128(c2[1409],simde_mm_xor_si128(c2[332],simde_mm_xor_si128(c2[504],simde_mm_xor_si128(c2[522],simde_mm_xor_si128(c2[342],simde_mm_xor_si128(c2[886],c2[348]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|