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
154 lines
61 KiB
C
154 lines
61 KiB
C
#ifndef __AVX2__
|
|
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=352, byte encoding
|
|
static inline void ldpc352_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<22; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm_xor_si128(c2[5826],simde_mm_xor_si128(c2[12588],simde_mm_xor_si128(c2[1950],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[5859],simde_mm_xor_si128(c2[2950],simde_mm_xor_si128(c2[13601],simde_mm_xor_si128(c2[6874],simde_mm_xor_si128(c2[1070],simde_mm_xor_si128(c2[4941],simde_mm_xor_si128(c2[9832],simde_mm_xor_si128(c2[138],simde_mm_xor_si128(c2[1103],simde_mm_xor_si128(c2[2133],simde_mm_xor_si128(c2[13746],simde_mm_xor_si128(c2[6969],simde_mm_xor_si128(c2[14752],simde_mm_xor_si128(c2[11852],simde_mm_xor_si128(c2[14746],simde_mm_xor_si128(c2[5114],simde_mm_xor_si128(c2[8992],simde_mm_xor_si128(c2[10920],simde_mm_xor_si128(c2[315],simde_mm_xor_si128(c2[316],simde_mm_xor_si128(c2[6126],simde_mm_xor_si128(c2[13922],simde_mm_xor_si128(c2[12950],simde_mm_xor_si128(c2[11005],simde_mm_xor_si128(c2[3315],simde_mm_xor_si128(c2[2335],simde_mm_xor_si128(c2[6222],simde_mm_xor_si128(c2[10135],simde_mm_xor_si128(c2[14967],simde_mm_xor_si128(c2[10126],simde_mm_xor_si128(c2[1452],simde_mm_xor_si128(c2[7270],simde_mm_xor_si128(c2[6307],simde_mm_xor_si128(c2[3453],simde_mm_xor_si128(c2[13127],simde_mm_xor_si128(c2[9261],simde_mm_xor_si128(c2[9296],simde_mm_xor_si128(c2[14130],simde_mm_xor_si128(c2[13172],simde_mm_xor_si128(c2[14188],simde_mm_xor_si128(c2[14185],simde_mm_xor_si128(c2[9339],simde_mm_xor_si128(c2[5503],simde_mm_xor_si128(c2[2611],simde_mm_xor_si128(c2[13251],simde_mm_xor_si128(c2[11373],simde_mm_xor_si128(c2[1688],simde_mm_xor_si128(c2[9431],simde_mm_xor_si128(c2[5596],simde_mm_xor_si128(c2[3660],simde_mm_xor_si128(c2[7537],simde_mm_xor_si128(c2[811],simde_mm_xor_si128(c2[3706],simde_mm_xor_si128(c2[15320],simde_mm_xor_si128(c2[7622],simde_mm_xor_si128(c2[9548],simde_mm_xor_si128(c2[2785],simde_mm_xor_si128(c2[15402],simde_mm_xor_si128(c2[7656],simde_mm_xor_si128(c2[9599],simde_mm_xor_si128(c2[12551],simde_mm_xor_si128(c2[14494],c2[9643]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[22]=simde_mm_xor_si128(c2[5826],simde_mm_xor_si128(c2[6794],simde_mm_xor_si128(c2[13556],simde_mm_xor_si128(c2[2918],simde_mm_xor_si128(c2[1942],simde_mm_xor_si128(c2[5859],simde_mm_xor_si128(c2[6827],simde_mm_xor_si128(c2[3918],simde_mm_xor_si128(c2[14569],simde_mm_xor_si128(c2[6874],simde_mm_xor_si128(c2[7842],simde_mm_xor_si128(c2[2038],simde_mm_xor_si128(c2[5909],simde_mm_xor_si128(c2[9832],simde_mm_xor_si128(c2[10800],simde_mm_xor_si128(c2[1106],simde_mm_xor_si128(c2[2071],simde_mm_xor_si128(c2[3101],simde_mm_xor_si128(c2[14714],simde_mm_xor_si128(c2[7937],simde_mm_xor_si128(c2[14752],simde_mm_xor_si128(c2[233],simde_mm_xor_si128(c2[12820],simde_mm_xor_si128(c2[227],simde_mm_xor_si128(c2[5114],simde_mm_xor_si128(c2[6082],simde_mm_xor_si128(c2[9960],simde_mm_xor_si128(c2[11888],simde_mm_xor_si128(c2[1283],simde_mm_xor_si128(c2[1284],simde_mm_xor_si128(c2[7094],simde_mm_xor_si128(c2[14890],simde_mm_xor_si128(c2[13918],simde_mm_xor_si128(c2[11973],simde_mm_xor_si128(c2[3315],simde_mm_xor_si128(c2[4283],simde_mm_xor_si128(c2[3303],simde_mm_xor_si128(c2[7190],simde_mm_xor_si128(c2[10135],simde_mm_xor_si128(c2[11103],simde_mm_xor_si128(c2[448],simde_mm_xor_si128(c2[11094],simde_mm_xor_si128(c2[1452],simde_mm_xor_si128(c2[2420],simde_mm_xor_si128(c2[8238],simde_mm_xor_si128(c2[7275],simde_mm_xor_si128(c2[3453],simde_mm_xor_si128(c2[4421],simde_mm_xor_si128(c2[14095],simde_mm_xor_si128(c2[10229],simde_mm_xor_si128(c2[9296],simde_mm_xor_si128(c2[10264],simde_mm_xor_si128(c2[15098],simde_mm_xor_si128(c2[14140],simde_mm_xor_si128(c2[15156],simde_mm_xor_si128(c2[15153],simde_mm_xor_si128(c2[10307],simde_mm_xor_si128(c2[5503],simde_mm_xor_si128(c2[6471],simde_mm_xor_si128(c2[3579],simde_mm_xor_si128(c2[14219],simde_mm_xor_si128(c2[11373],simde_mm_xor_si128(c2[12341],simde_mm_xor_si128(c2[2656],simde_mm_xor_si128(c2[10399],simde_mm_xor_si128(c2[6564],simde_mm_xor_si128(c2[4628],simde_mm_xor_si128(c2[8505],simde_mm_xor_si128(c2[811],simde_mm_xor_si128(c2[1779],simde_mm_xor_si128(c2[4674],simde_mm_xor_si128(c2[801],simde_mm_xor_si128(c2[7622],simde_mm_xor_si128(c2[8590],simde_mm_xor_si128(c2[10516],simde_mm_xor_si128(c2[3753],simde_mm_xor_si128(c2[15402],simde_mm_xor_si128(c2[883],simde_mm_xor_si128(c2[8624],simde_mm_xor_si128(c2[10567],simde_mm_xor_si128(c2[12551],simde_mm_xor_si128(c2[13519],simde_mm_xor_si128(c2[15462],c2[10611])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[44]=simde_mm_xor_si128(c2[6794],simde_mm_xor_si128(c2[13556],simde_mm_xor_si128(c2[1950],simde_mm_xor_si128(c2[2918],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[1942],simde_mm_xor_si128(c2[6827],simde_mm_xor_si128(c2[2950],simde_mm_xor_si128(c2[3918],simde_mm_xor_si128(c2[13601],simde_mm_xor_si128(c2[14569],simde_mm_xor_si128(c2[7842],simde_mm_xor_si128(c2[2038],simde_mm_xor_si128(c2[4941],simde_mm_xor_si128(c2[5909],simde_mm_xor_si128(c2[10800],simde_mm_xor_si128(c2[1106],simde_mm_xor_si128(c2[1103],simde_mm_xor_si128(c2[2071],simde_mm_xor_si128(c2[3101],simde_mm_xor_si128(c2[13746],simde_mm_xor_si128(c2[14714],simde_mm_xor_si128(c2[6969],simde_mm_xor_si128(c2[7937],simde_mm_xor_si128(c2[233],simde_mm_xor_si128(c2[12820],simde_mm_xor_si128(c2[14746],simde_mm_xor_si128(c2[227],simde_mm_xor_si128(c2[6082],simde_mm_xor_si128(c2[8992],simde_mm_xor_si128(c2[9960],simde_mm_xor_si128(c2[10920],simde_mm_xor_si128(c2[11888],simde_mm_xor_si128(c2[1283],simde_mm_xor_si128(c2[316],simde_mm_xor_si128(c2[1284],simde_mm_xor_si128(c2[6126],simde_mm_xor_si128(c2[7094],simde_mm_xor_si128(c2[14890],simde_mm_xor_si128(c2[12950],simde_mm_xor_si128(c2[13918],simde_mm_xor_si128(c2[11005],simde_mm_xor_si128(c2[11973],simde_mm_xor_si128(c2[4283],simde_mm_xor_si128(c2[3303],simde_mm_xor_si128(c2[6222],simde_mm_xor_si128(c2[7190],simde_mm_xor_si128(c2[11103],simde_mm_xor_si128(c2[14967],simde_mm_xor_si128(c2[448],simde_mm_xor_si128(c2[10126],simde_mm_xor_si128(c2[11094],simde_mm_xor_si128(c2[2420],simde_mm_xor_si128(c2[8238],simde_mm_xor_si128(c2[6307],simde_mm_xor_si128(c2[7275],simde_mm_xor_si128(c2[4421],simde_mm_xor_si128(c2[14095],simde_mm_xor_si128(c2[9261],simde_mm_xor_si128(c2[10229],simde_mm_xor_si128(c2[10264],simde_mm_xor_si128(c2[14130],simde_mm_xor_si128(c2[15098],simde_mm_xor_si128(c2[13172],simde_mm_xor_si128(c2[14140],simde_mm_xor_si128(c2[15156],simde_mm_xor_si128(c2[14185],simde_mm_xor_si128(c2[15153],simde_mm_xor_si128(c2[9339],simde_mm_xor_si128(c2[10307],simde_mm_xor_si128(c2[6471],simde_mm_xor_si128(c2[3579],simde_mm_xor_si128(c2[13251],simde_mm_xor_si128(c2[14219],simde_mm_xor_si128(c2[12341],simde_mm_xor_si128(c2[2656],simde_mm_xor_si128(c2[9431],simde_mm_xor_si128(c2[10399],simde_mm_xor_si128(c2[6564],simde_mm_xor_si128(c2[3660],simde_mm_xor_si128(c2[4628],simde_mm_xor_si128(c2[7537],simde_mm_xor_si128(c2[8505],simde_mm_xor_si128(c2[1779],simde_mm_xor_si128(c2[3706],simde_mm_xor_si128(c2[4674],simde_mm_xor_si128(c2[15320],simde_mm_xor_si128(c2[801],simde_mm_xor_si128(c2[8590],simde_mm_xor_si128(c2[10516],simde_mm_xor_si128(c2[2785],simde_mm_xor_si128(c2[3753],simde_mm_xor_si128(c2[883],simde_mm_xor_si128(c2[7656],simde_mm_xor_si128(c2[8624],simde_mm_xor_si128(c2[9599],simde_mm_xor_si128(c2[10567],simde_mm_xor_si128(c2[13519],simde_mm_xor_si128(c2[15462],simde_mm_xor_si128(c2[9643],c2[10611]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[66]=simde_mm_xor_si128(c2[6794],simde_mm_xor_si128(c2[13556],simde_mm_xor_si128(c2[2918],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[1942],simde_mm_xor_si128(c2[6827],simde_mm_xor_si128(c2[3918],simde_mm_xor_si128(c2[13601],simde_mm_xor_si128(c2[14569],simde_mm_xor_si128(c2[7842],simde_mm_xor_si128(c2[2038],simde_mm_xor_si128(c2[5909],simde_mm_xor_si128(c2[10800],simde_mm_xor_si128(c2[1106],simde_mm_xor_si128(c2[1103],simde_mm_xor_si128(c2[2071],simde_mm_xor_si128(c2[3101],simde_mm_xor_si128(c2[14714],simde_mm_xor_si128(c2[6969],simde_mm_xor_si128(c2[7937],simde_mm_xor_si128(c2[233],simde_mm_xor_si128(c2[12820],simde_mm_xor_si128(c2[227],simde_mm_xor_si128(c2[6082],simde_mm_xor_si128(c2[9960],simde_mm_xor_si128(c2[10920],simde_mm_xor_si128(c2[11888],simde_mm_xor_si128(c2[1283],simde_mm_xor_si128(c2[1284],simde_mm_xor_si128(c2[6126],simde_mm_xor_si128(c2[7094],simde_mm_xor_si128(c2[14890],simde_mm_xor_si128(c2[13918],simde_mm_xor_si128(c2[11005],simde_mm_xor_si128(c2[11973],simde_mm_xor_si128(c2[4283],simde_mm_xor_si128(c2[3303],simde_mm_xor_si128(c2[7190],simde_mm_xor_si128(c2[11103],simde_mm_xor_si128(c2[448],simde_mm_xor_si128(c2[10126],simde_mm_xor_si128(c2[11094],simde_mm_xor_si128(c2[2420],simde_mm_xor_si128(c2[8238],simde_mm_xor_si128(c2[6307],simde_mm_xor_si128(c2[7275],simde_mm_xor_si128(c2[4421],simde_mm_xor_si128(c2[14095],simde_mm_xor_si128(c2[9261],simde_mm_xor_si128(c2[10229],simde_mm_xor_si128(c2[10264],simde_mm_xor_si128(c2[15098],simde_mm_xor_si128(c2[13172],simde_mm_xor_si128(c2[14140],simde_mm_xor_si128(c2[15156],simde_mm_xor_si128(c2[15153],simde_mm_xor_si128(c2[9339],simde_mm_xor_si128(c2[10307],simde_mm_xor_si128(c2[6471],simde_mm_xor_si128(c2[3579],simde_mm_xor_si128(c2[14219],simde_mm_xor_si128(c2[12341],simde_mm_xor_si128(c2[2656],simde_mm_xor_si128(c2[9431],simde_mm_xor_si128(c2[10399],simde_mm_xor_si128(c2[6564],simde_mm_xor_si128(c2[4628],simde_mm_xor_si128(c2[7537],simde_mm_xor_si128(c2[8505],simde_mm_xor_si128(c2[1779],simde_mm_xor_si128(c2[4674],simde_mm_xor_si128(c2[15320],simde_mm_xor_si128(c2[801],simde_mm_xor_si128(c2[8590],simde_mm_xor_si128(c2[10516],simde_mm_xor_si128(c2[3753],simde_mm_xor_si128(c2[883],simde_mm_xor_si128(c2[8624],simde_mm_xor_si128(c2[9599],simde_mm_xor_si128(c2[10567],simde_mm_xor_si128(c2[13519],simde_mm_xor_si128(c2[15462],simde_mm_xor_si128(c2[9643],c2[10611])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[88]=simde_mm_xor_si128(c2[9682],c2[60]);
|
|
|
|
//row: 5
|
|
d2[110]=simde_mm_xor_si128(c2[982],simde_mm_xor_si128(c2[7744],simde_mm_xor_si128(c2[12593],simde_mm_xor_si128(c2[11617],simde_mm_xor_si128(c2[10661],simde_mm_xor_si128(c2[1015],simde_mm_xor_si128(c2[13615],simde_mm_xor_si128(c2[8757],simde_mm_xor_si128(c2[1988],simde_mm_xor_si128(c2[2030],simde_mm_xor_si128(c2[11713],simde_mm_xor_si128(c2[97],simde_mm_xor_si128(c2[4988],simde_mm_xor_si128(c2[10781],simde_mm_xor_si128(c2[11768],simde_mm_xor_si128(c2[10795],simde_mm_xor_si128(c2[12776],simde_mm_xor_si128(c2[8902],simde_mm_xor_si128(c2[2125],simde_mm_xor_si128(c2[9908],simde_mm_xor_si128(c2[7008],simde_mm_xor_si128(c2[9902],simde_mm_xor_si128(c2[270],simde_mm_xor_si128(c2[4148],simde_mm_xor_si128(c2[6076],simde_mm_xor_si128(c2[10958],simde_mm_xor_si128(c2[10959],simde_mm_xor_si128(c2[1282],simde_mm_xor_si128(c2[9078],simde_mm_xor_si128(c2[8106],simde_mm_xor_si128(c2[6161],simde_mm_xor_si128(c2[13958],simde_mm_xor_si128(c2[13000],simde_mm_xor_si128(c2[1378],simde_mm_xor_si128(c2[5291],simde_mm_xor_si128(c2[10123],simde_mm_xor_si128(c2[5282],simde_mm_xor_si128(c2[12117],simde_mm_xor_si128(c2[2426],simde_mm_xor_si128(c2[1463],simde_mm_xor_si128(c2[14096],simde_mm_xor_si128(c2[8283],simde_mm_xor_si128(c2[4417],simde_mm_xor_si128(c2[2484],simde_mm_xor_si128(c2[4452],simde_mm_xor_si128(c2[9286],simde_mm_xor_si128(c2[8328],simde_mm_xor_si128(c2[9344],simde_mm_xor_si128(c2[9341],simde_mm_xor_si128(c2[4495],simde_mm_xor_si128(c2[681],simde_mm_xor_si128(c2[13254],simde_mm_xor_si128(c2[8407],simde_mm_xor_si128(c2[6529],simde_mm_xor_si128(c2[12331],simde_mm_xor_si128(c2[4587],simde_mm_xor_si128(c2[7498],simde_mm_xor_si128(c2[752],simde_mm_xor_si128(c2[14303],simde_mm_xor_si128(c2[2693],simde_mm_xor_si128(c2[11454],simde_mm_xor_si128(c2[14349],simde_mm_xor_si128(c2[10476],simde_mm_xor_si128(c2[2778],simde_mm_xor_si128(c2[4726],simde_mm_xor_si128(c2[13428],simde_mm_xor_si128(c2[10580],simde_mm_xor_si128(c2[2834],simde_mm_xor_si128(c2[4755],simde_mm_xor_si128(c2[7707],simde_mm_xor_si128(c2[9650],simde_mm_xor_si128(c2[4799],c2[2876]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[132]=simde_mm_xor_si128(c2[5826],simde_mm_xor_si128(c2[8980],simde_mm_xor_si128(c2[10140],simde_mm_xor_si128(c2[3394],simde_mm_xor_si128(c2[12198],simde_mm_xor_si128(c2[6565],simde_mm_xor_si128(c2[12425],c2[1867])))))));
|
|
|
|
//row: 7
|
|
d2[154]=simde_mm_xor_si128(c2[2904],simde_mm_xor_si128(c2[6826],simde_mm_xor_si128(c2[190],simde_mm_xor_si128(c2[9038],simde_mm_xor_si128(c2[7141],c2[7394])))));
|
|
|
|
//row: 8
|
|
d2[176]=simde_mm_xor_si128(c2[16],simde_mm_xor_si128(c2[10659],simde_mm_xor_si128(c2[6778],simde_mm_xor_si128(c2[1956],simde_mm_xor_si128(c2[11627],simde_mm_xor_si128(c2[5815],simde_mm_xor_si128(c2[6783],simde_mm_xor_si128(c2[10651],simde_mm_xor_si128(c2[4861],simde_mm_xor_si128(c2[5829],simde_mm_xor_si128(c2[11637],simde_mm_xor_si128(c2[49],simde_mm_xor_si128(c2[10692],simde_mm_xor_si128(c2[12649],simde_mm_xor_si128(c2[6837],simde_mm_xor_si128(c2[7805],simde_mm_xor_si128(c2[7791],simde_mm_xor_si128(c2[2001],simde_mm_xor_si128(c2[2969],simde_mm_xor_si128(c2[10696],simde_mm_xor_si128(c2[1064],simde_mm_xor_si128(c2[11707],simde_mm_xor_si128(c2[10747],simde_mm_xor_si128(c2[5903],simde_mm_xor_si128(c2[14618],simde_mm_xor_si128(c2[8806],simde_mm_xor_si128(c2[9774],simde_mm_xor_si128(c2[4022],simde_mm_xor_si128(c2[14665],simde_mm_xor_si128(c2[9815],simde_mm_xor_si128(c2[4993],simde_mm_xor_si128(c2[10780],simde_mm_xor_si128(c2[4990],simde_mm_xor_si128(c2[5958],simde_mm_xor_si128(c2[5941],simde_mm_xor_si128(c2[11810],simde_mm_xor_si128(c2[6966],simde_mm_xor_si128(c2[7936],simde_mm_xor_si128(c2[2124],simde_mm_xor_si128(c2[3092],simde_mm_xor_si128(c2[1159],simde_mm_xor_si128(c2[10834],simde_mm_xor_si128(c2[11802],simde_mm_xor_si128(c2[8942],simde_mm_xor_si128(c2[4098],simde_mm_xor_si128(c2[6042],simde_mm_xor_si128(c2[1198],simde_mm_xor_si128(c2[8936],simde_mm_xor_si128(c2[3124],simde_mm_xor_si128(c2[4092],simde_mm_xor_si128(c2[14791],simde_mm_xor_si128(c2[9947],simde_mm_xor_si128(c2[3182],simde_mm_xor_si128(c2[12857],simde_mm_xor_si128(c2[13825],simde_mm_xor_si128(c2[5110],simde_mm_xor_si128(c2[14785],simde_mm_xor_si128(c2[266],simde_mm_xor_si128(c2[9992],simde_mm_xor_si128(c2[5148],simde_mm_xor_si128(c2[9993],simde_mm_xor_si128(c2[4181],simde_mm_xor_si128(c2[5149],simde_mm_xor_si128(c2[316],simde_mm_xor_si128(c2[9991],simde_mm_xor_si128(c2[10959],simde_mm_xor_si128(c2[8112],simde_mm_xor_si128(c2[3268],simde_mm_xor_si128(c2[7140],simde_mm_xor_si128(c2[1328],simde_mm_xor_si128(c2[2296],simde_mm_xor_si128(c2[5195],simde_mm_xor_si128(c2[14892],simde_mm_xor_si128(c2[373],simde_mm_xor_si128(c2[12992],simde_mm_xor_si128(c2[8148],simde_mm_xor_si128(c2[12012],simde_mm_xor_si128(c2[7190],simde_mm_xor_si128(c2[412],simde_mm_xor_si128(c2[10087],simde_mm_xor_si128(c2[11055],simde_mm_xor_si128(c2[4325],simde_mm_xor_si128(c2[14968],simde_mm_xor_si128(c2[9157],simde_mm_xor_si128(c2[3345],simde_mm_xor_si128(c2[4313],simde_mm_xor_si128(c2[4316],simde_mm_xor_si128(c2[14013],simde_mm_xor_si128(c2[14981],simde_mm_xor_si128(c2[11151],simde_mm_xor_si128(c2[6307],simde_mm_xor_si128(c2[1460],simde_mm_xor_si128(c2[12103],simde_mm_xor_si128(c2[497],simde_mm_xor_si128(c2[10172],simde_mm_xor_si128(c2[11140],simde_mm_xor_si128(c2[13130],simde_mm_xor_si128(c2[8286],simde_mm_xor_si128(c2[7317],simde_mm_xor_si128(c2[2473],simde_mm_xor_si128(c2[3451],simde_mm_xor_si128(c2[13126],simde_mm_xor_si128(c2[14094],simde_mm_xor_si128(c2[8291],simde_mm_xor_si128(c2[3486],simde_mm_xor_si128(c2[14129],simde_mm_xor_si128(c2[8320],simde_mm_xor_si128(c2[2508],simde_mm_xor_si128(c2[3476],simde_mm_xor_si128(c2[7362],simde_mm_xor_si128(c2[1550],simde_mm_xor_si128(c2[2518],simde_mm_xor_si128(c2[8378],simde_mm_xor_si128(c2[3534],simde_mm_xor_si128(c2[8375],simde_mm_xor_si128(c2[2563],simde_mm_xor_si128(c2[3531],simde_mm_xor_si128(c2[3529],simde_mm_xor_si128(c2[13204],simde_mm_xor_si128(c2[14172],simde_mm_xor_si128(c2[15180],simde_mm_xor_si128(c2[10358],simde_mm_xor_si128(c2[12288],simde_mm_xor_si128(c2[7444],simde_mm_xor_si128(c2[7441],simde_mm_xor_si128(c2[1629],simde_mm_xor_si128(c2[2597],simde_mm_xor_si128(c2[5563],simde_mm_xor_si128(c2[719],simde_mm_xor_si128(c2[11365],simde_mm_xor_si128(c2[6521],simde_mm_xor_si128(c2[3621],simde_mm_xor_si128(c2[13296],simde_mm_xor_si128(c2[14264],simde_mm_xor_si128(c2[718],simde_mm_xor_si128(c2[15273],simde_mm_xor_si128(c2[10429],simde_mm_xor_si128(c2[13337],simde_mm_xor_si128(c2[7525],simde_mm_xor_si128(c2[8493],simde_mm_xor_si128(c2[1727],simde_mm_xor_si128(c2[11402],simde_mm_xor_si128(c2[12370],simde_mm_xor_si128(c2[10488],simde_mm_xor_si128(c2[5644],simde_mm_xor_si128(c2[13383],simde_mm_xor_si128(c2[7571],simde_mm_xor_si128(c2[8539],simde_mm_xor_si128(c2[9510],simde_mm_xor_si128(c2[3698],simde_mm_xor_si128(c2[4666],simde_mm_xor_si128(c2[1812],simde_mm_xor_si128(c2[12455],simde_mm_xor_si128(c2[3760],simde_mm_xor_si128(c2[14403],simde_mm_xor_si128(c2[12462],simde_mm_xor_si128(c2[6650],simde_mm_xor_si128(c2[7618],simde_mm_xor_si128(c2[1805],simde_mm_xor_si128(c2[9592],simde_mm_xor_si128(c2[4770],simde_mm_xor_si128(c2[1868],simde_mm_xor_si128(c2[11543],simde_mm_xor_si128(c2[12511],simde_mm_xor_si128(c2[3789],simde_mm_xor_si128(c2[13464],simde_mm_xor_si128(c2[14432],simde_mm_xor_si128(c2[6741],simde_mm_xor_si128(c2[1897],simde_mm_xor_si128(c2[8684],simde_mm_xor_si128(c2[3840],simde_mm_xor_si128(c2[3833],simde_mm_xor_si128(c2[13508],simde_mm_xor_si128(c2[14476],c2[11575]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[198]=simde_mm_xor_si128(c2[11625],simde_mm_xor_si128(c2[7793],simde_mm_xor_si128(c2[5298],simde_mm_xor_si128(c2[15010],simde_mm_xor_si128(c2[12193],simde_mm_xor_si128(c2[8501],simde_mm_xor_si128(c2[7569],c2[1869])))))));
|
|
|
|
//row: 10
|
|
d2[220]=simde_mm_xor_si128(c2[14574],simde_mm_xor_si128(c2[12687],simde_mm_xor_si128(c2[10825],simde_mm_xor_si128(c2[7098],simde_mm_xor_si128(c2[1323],c2[11280])))));
|
|
|
|
//row: 11
|
|
d2[242]=simde_mm_xor_si128(c2[7761],simde_mm_xor_si128(c2[5816],simde_mm_xor_si128(c2[6784],simde_mm_xor_si128(c2[14523],simde_mm_xor_si128(c2[13568],simde_mm_xor_si128(c2[3885],simde_mm_xor_si128(c2[2908],simde_mm_xor_si128(c2[2909],simde_mm_xor_si128(c2[1954],simde_mm_xor_si128(c2[8713],simde_mm_xor_si128(c2[7794],simde_mm_xor_si128(c2[5871],simde_mm_xor_si128(c2[6839],simde_mm_xor_si128(c2[4885],simde_mm_xor_si128(c2[3930],simde_mm_xor_si128(c2[49],simde_mm_xor_si128(c2[14581],simde_mm_xor_si128(c2[2000],simde_mm_xor_si128(c2[8809],simde_mm_xor_si128(c2[6864],simde_mm_xor_si128(c2[7832],simde_mm_xor_si128(c2[3005],simde_mm_xor_si128(c2[2028],simde_mm_xor_si128(c2[6876],simde_mm_xor_si128(c2[5899],simde_mm_xor_si128(c2[11767],simde_mm_xor_si128(c2[9822],simde_mm_xor_si128(c2[10790],simde_mm_xor_si128(c2[2073],simde_mm_xor_si128(c2[1118],simde_mm_xor_si128(c2[3038],simde_mm_xor_si128(c2[2083],simde_mm_xor_si128(c2[4068],simde_mm_xor_si128(c2[3091],simde_mm_xor_si128(c2[194],simde_mm_xor_si128(c2[14704],simde_mm_xor_si128(c2[8904],simde_mm_xor_si128(c2[7927],simde_mm_xor_si128(c2[1200],simde_mm_xor_si128(c2[14742],simde_mm_xor_si128(c2[223],simde_mm_xor_si128(c2[13787],simde_mm_xor_si128(c2[12810],simde_mm_xor_si128(c2[1194],simde_mm_xor_si128(c2[239],simde_mm_xor_si128(c2[7049],simde_mm_xor_si128(c2[5104],simde_mm_xor_si128(c2[6072],simde_mm_xor_si128(c2[10927],simde_mm_xor_si128(c2[9950],simde_mm_xor_si128(c2[12855],simde_mm_xor_si128(c2[11900],simde_mm_xor_si128(c2[2250],simde_mm_xor_si128(c2[1295],simde_mm_xor_si128(c2[2251],simde_mm_xor_si128(c2[1296],simde_mm_xor_si128(c2[8061],simde_mm_xor_si128(c2[7084],simde_mm_xor_si128(c2[370],simde_mm_xor_si128(c2[14880],simde_mm_xor_si128(c2[14885],simde_mm_xor_si128(c2[13908],simde_mm_xor_si128(c2[12940],simde_mm_xor_si128(c2[11985],simde_mm_xor_si128(c2[5250],simde_mm_xor_si128(c2[3305],simde_mm_xor_si128(c2[4273],simde_mm_xor_si128(c2[4270],simde_mm_xor_si128(c2[3315],simde_mm_xor_si128(c2[8157],simde_mm_xor_si128(c2[7180],simde_mm_xor_si128(c2[12070],simde_mm_xor_si128(c2[10125],simde_mm_xor_si128(c2[11093],simde_mm_xor_si128(c2[1415],simde_mm_xor_si128(c2[460],simde_mm_xor_si128(c2[12061],simde_mm_xor_si128(c2[11106],simde_mm_xor_si128(c2[3409],simde_mm_xor_si128(c2[1464],simde_mm_xor_si128(c2[2432],simde_mm_xor_si128(c2[9205],simde_mm_xor_si128(c2[8228],simde_mm_xor_si128(c2[8242],simde_mm_xor_si128(c2[7265],simde_mm_xor_si128(c2[5388],simde_mm_xor_si128(c2[3443],simde_mm_xor_si128(c2[4411],simde_mm_xor_si128(c2[15062],simde_mm_xor_si128(c2[14085],simde_mm_xor_si128(c2[11196],simde_mm_xor_si128(c2[10219],simde_mm_xor_si128(c2[8284],simde_mm_xor_si128(c2[11231],simde_mm_xor_si128(c2[9286],simde_mm_xor_si128(c2[10254],simde_mm_xor_si128(c2[578],simde_mm_xor_si128(c2[15110],simde_mm_xor_si128(c2[15107],simde_mm_xor_si128(c2[14130],simde_mm_xor_si128(c2[636],simde_mm_xor_si128(c2[15146],simde_mm_xor_si128(c2[633],simde_mm_xor_si128(c2[15143],simde_mm_xor_si128(c2[11274],simde_mm_xor_si128(c2[10297],simde_mm_xor_si128(c2[7438],simde_mm_xor_si128(c2[5515],simde_mm_xor_si128(c2[6483],simde_mm_xor_si128(c2[4546],simde_mm_xor_si128(c2[3569],simde_mm_xor_si128(c2[15186],simde_mm_xor_si128(c2[14231],simde_mm_xor_si128(c2[13308],simde_mm_xor_si128(c2[11363],simde_mm_xor_si128(c2[12331],simde_mm_xor_si128(c2[3623],simde_mm_xor_si128(c2[2646],simde_mm_xor_si128(c2[11366],simde_mm_xor_si128(c2[10389],simde_mm_xor_si128(c2[15245],simde_mm_xor_si128(c2[7531],simde_mm_xor_si128(c2[6576],simde_mm_xor_si128(c2[5595],simde_mm_xor_si128(c2[4640],simde_mm_xor_si128(c2[9472],simde_mm_xor_si128(c2[8495],simde_mm_xor_si128(c2[2746],simde_mm_xor_si128(c2[801],simde_mm_xor_si128(c2[1769],simde_mm_xor_si128(c2[5641],simde_mm_xor_si128(c2[4664],simde_mm_xor_si128(c2[1768],simde_mm_xor_si128(c2[813],simde_mm_xor_si128(c2[9557],simde_mm_xor_si128(c2[7612],simde_mm_xor_si128(c2[8580],simde_mm_xor_si128(c2[11505],simde_mm_xor_si128(c2[10528],simde_mm_xor_si128(c2[4720],simde_mm_xor_si128(c2[3743],simde_mm_xor_si128(c2[1850],simde_mm_xor_si128(c2[15414],simde_mm_xor_si128(c2[895],simde_mm_xor_si128(c2[9613],simde_mm_xor_si128(c2[8636],simde_mm_xor_si128(c2[11534],simde_mm_xor_si128(c2[10579],simde_mm_xor_si128(c2[14486],simde_mm_xor_si128(c2[12541],simde_mm_xor_si128(c2[13509],simde_mm_xor_si128(c2[942],simde_mm_xor_si128(c2[15452],simde_mm_xor_si128(c2[11578],simde_mm_xor_si128(c2[10623],c2[6742])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[264]=simde_mm_xor_si128(c2[10655],simde_mm_xor_si128(c2[8769],simde_mm_xor_si128(c2[14000],simde_mm_xor_si128(c2[14042],simde_mm_xor_si128(c2[583],c2[12412])))));
|
|
|
|
//row: 13
|
|
d2[286]=simde_mm_xor_si128(c2[6777],simde_mm_xor_si128(c2[7745],simde_mm_xor_si128(c2[14529],simde_mm_xor_si128(c2[3891],simde_mm_xor_si128(c2[2915],simde_mm_xor_si128(c2[6795],simde_mm_xor_si128(c2[6832],simde_mm_xor_si128(c2[7800],simde_mm_xor_si128(c2[4891],simde_mm_xor_si128(c2[55],simde_mm_xor_si128(c2[7847],simde_mm_xor_si128(c2[8815],simde_mm_xor_si128(c2[3011],simde_mm_xor_si128(c2[6882],simde_mm_xor_si128(c2[10783],simde_mm_xor_si128(c2[11751],simde_mm_xor_si128(c2[2079],simde_mm_xor_si128(c2[3044],simde_mm_xor_si128(c2[10795],simde_mm_xor_si128(c2[4052],simde_mm_xor_si128(c2[178],simde_mm_xor_si128(c2[8888],simde_mm_xor_si128(c2[238],simde_mm_xor_si128(c2[1206],simde_mm_xor_si128(c2[13793],simde_mm_xor_si128(c2[1200],simde_mm_xor_si128(c2[6087],simde_mm_xor_si128(c2[7055],simde_mm_xor_si128(c2[10933],simde_mm_xor_si128(c2[12861],simde_mm_xor_si128(c2[2256],simde_mm_xor_si128(c2[2257],simde_mm_xor_si128(c2[8067],simde_mm_xor_si128(c2[9036],simde_mm_xor_si128(c2[354],simde_mm_xor_si128(c2[14891],simde_mm_xor_si128(c2[12946],simde_mm_xor_si128(c2[4288],simde_mm_xor_si128(c2[5256],simde_mm_xor_si128(c2[4276],simde_mm_xor_si128(c2[8141],simde_mm_xor_si128(c2[11108],simde_mm_xor_si128(c2[12076],simde_mm_xor_si128(c2[1421],simde_mm_xor_si128(c2[12067],simde_mm_xor_si128(c2[2425],simde_mm_xor_si128(c2[3393],simde_mm_xor_si128(c2[9211],simde_mm_xor_si128(c2[8248],simde_mm_xor_si128(c2[4404],simde_mm_xor_si128(c2[5372],simde_mm_xor_si128(c2[15068],simde_mm_xor_si128(c2[11180],simde_mm_xor_si128(c2[10269],simde_mm_xor_si128(c2[11237],simde_mm_xor_si128(c2[584],simde_mm_xor_si128(c2[15113],simde_mm_xor_si128(c2[620],simde_mm_xor_si128(c2[617],simde_mm_xor_si128(c2[11280],simde_mm_xor_si128(c2[6476],simde_mm_xor_si128(c2[7444],simde_mm_xor_si128(c2[4552],simde_mm_xor_si128(c2[15192],simde_mm_xor_si128(c2[12324],simde_mm_xor_si128(c2[13292],simde_mm_xor_si128(c2[3629],simde_mm_xor_si128(c2[11372],simde_mm_xor_si128(c2[7537],simde_mm_xor_si128(c2[5601],simde_mm_xor_si128(c2[9478],simde_mm_xor_si128(c2[1762],simde_mm_xor_si128(c2[2730],simde_mm_xor_si128(c2[5647],simde_mm_xor_si128(c2[1774],simde_mm_xor_si128(c2[8595],simde_mm_xor_si128(c2[9563],simde_mm_xor_si128(c2[11489],simde_mm_xor_si128(c2[4726],simde_mm_xor_si128(c2[888],simde_mm_xor_si128(c2[1856],simde_mm_xor_si128(c2[9597],simde_mm_xor_si128(c2[11540],simde_mm_xor_si128(c2[14437],simde_mm_xor_si128(c2[13524],simde_mm_xor_si128(c2[14492],simde_mm_xor_si128(c2[926],c2[11584])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[308]=simde_mm_xor_si128(c2[5809],simde_mm_xor_si128(c2[2484],simde_mm_xor_si128(c2[5517],simde_mm_xor_si128(c2[12329],simde_mm_xor_si128(c2[2688],c2[14480])))));
|
|
|
|
//row: 15
|
|
d2[330]=simde_mm_xor_si128(c2[7747],simde_mm_xor_si128(c2[14531],simde_mm_xor_si128(c2[3893],simde_mm_xor_si128(c2[1949],simde_mm_xor_si128(c2[2917],simde_mm_xor_si128(c2[11],simde_mm_xor_si128(c2[7802],simde_mm_xor_si128(c2[4893],simde_mm_xor_si128(c2[14576],simde_mm_xor_si128(c2[57],simde_mm_xor_si128(c2[11681],simde_mm_xor_si128(c2[8817],simde_mm_xor_si128(c2[3013],simde_mm_xor_si128(c2[6884],simde_mm_xor_si128(c2[11753],simde_mm_xor_si128(c2[2081],simde_mm_xor_si128(c2[2078],simde_mm_xor_si128(c2[3046],simde_mm_xor_si128(c2[4054],simde_mm_xor_si128(c2[180],simde_mm_xor_si128(c2[7922],simde_mm_xor_si128(c2[8890],simde_mm_xor_si128(c2[1208],simde_mm_xor_si128(c2[13773],simde_mm_xor_si128(c2[1202],simde_mm_xor_si128(c2[7057],simde_mm_xor_si128(c2[10913],simde_mm_xor_si128(c2[11895],simde_mm_xor_si128(c2[12863],simde_mm_xor_si128(c2[2258],simde_mm_xor_si128(c2[2259],simde_mm_xor_si128(c2[7101],simde_mm_xor_si128(c2[8069],simde_mm_xor_si128(c2[356],simde_mm_xor_si128(c2[14893],simde_mm_xor_si128(c2[11980],simde_mm_xor_si128(c2[12948],simde_mm_xor_si128(c2[5236],simde_mm_xor_si128(c2[4278],simde_mm_xor_si128(c2[8143],simde_mm_xor_si128(c2[12056],simde_mm_xor_si128(c2[1423],simde_mm_xor_si128(c2[11101],simde_mm_xor_si128(c2[12069],simde_mm_xor_si128(c2[14960],simde_mm_xor_si128(c2[3395],simde_mm_xor_si128(c2[9213],simde_mm_xor_si128(c2[7260],simde_mm_xor_si128(c2[8228],simde_mm_xor_si128(c2[5374],simde_mm_xor_si128(c2[15048],simde_mm_xor_si128(c2[10214],simde_mm_xor_si128(c2[11182],simde_mm_xor_si128(c2[11239],simde_mm_xor_si128(c2[586],simde_mm_xor_si128(c2[14125],simde_mm_xor_si128(c2[15093],simde_mm_xor_si128(c2[1545],simde_mm_xor_si128(c2[622],simde_mm_xor_si128(c2[619],simde_mm_xor_si128(c2[10314],simde_mm_xor_si128(c2[11282],simde_mm_xor_si128(c2[7446],simde_mm_xor_si128(c2[4532],simde_mm_xor_si128(c2[15194],simde_mm_xor_si128(c2[13294],simde_mm_xor_si128(c2[3609],simde_mm_xor_si128(c2[10384],simde_mm_xor_si128(c2[11352],simde_mm_xor_si128(c2[7539],simde_mm_xor_si128(c2[5603],simde_mm_xor_si128(c2[8512],simde_mm_xor_si128(c2[9480],simde_mm_xor_si128(c2[2732],simde_mm_xor_si128(c2[5649],simde_mm_xor_si128(c2[808],simde_mm_xor_si128(c2[1776],simde_mm_xor_si128(c2[803],simde_mm_xor_si128(c2[9565],simde_mm_xor_si128(c2[11491],simde_mm_xor_si128(c2[4728],simde_mm_xor_si128(c2[1858],simde_mm_xor_si128(c2[9599],simde_mm_xor_si128(c2[10574],simde_mm_xor_si128(c2[11542],simde_mm_xor_si128(c2[14494],simde_mm_xor_si128(c2[928],simde_mm_xor_si128(c2[10618],c2[11586]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[352]=simde_mm_xor_si128(c2[7747],simde_mm_xor_si128(c2[14531],simde_mm_xor_si128(c2[3893],simde_mm_xor_si128(c2[2917],simde_mm_xor_si128(c2[7802],simde_mm_xor_si128(c2[4893],simde_mm_xor_si128(c2[57],simde_mm_xor_si128(c2[13607],simde_mm_xor_si128(c2[8817],simde_mm_xor_si128(c2[3013],simde_mm_xor_si128(c2[6884],simde_mm_xor_si128(c2[11753],simde_mm_xor_si128(c2[2081],simde_mm_xor_si128(c2[3046],simde_mm_xor_si128(c2[4990],simde_mm_xor_si128(c2[4054],simde_mm_xor_si128(c2[180],simde_mm_xor_si128(c2[8890],simde_mm_xor_si128(c2[1208],simde_mm_xor_si128(c2[13773],simde_mm_xor_si128(c2[1202],simde_mm_xor_si128(c2[7057],simde_mm_xor_si128(c2[10913],simde_mm_xor_si128(c2[12863],simde_mm_xor_si128(c2[2258],simde_mm_xor_si128(c2[2259],simde_mm_xor_si128(c2[8069],simde_mm_xor_si128(c2[356],simde_mm_xor_si128(c2[14893],simde_mm_xor_si128(c2[12948],simde_mm_xor_si128(c2[5236],simde_mm_xor_si128(c2[4278],simde_mm_xor_si128(c2[8143],simde_mm_xor_si128(c2[12056],simde_mm_xor_si128(c2[1423],simde_mm_xor_si128(c2[12069],simde_mm_xor_si128(c2[3395],simde_mm_xor_si128(c2[9213],simde_mm_xor_si128(c2[8228],simde_mm_xor_si128(c2[12120],simde_mm_xor_si128(c2[5374],simde_mm_xor_si128(c2[15048],simde_mm_xor_si128(c2[11182],simde_mm_xor_si128(c2[11239],simde_mm_xor_si128(c2[586],simde_mm_xor_si128(c2[15093],simde_mm_xor_si128(c2[622],simde_mm_xor_si128(c2[619],simde_mm_xor_si128(c2[11282],simde_mm_xor_si128(c2[7446],simde_mm_xor_si128(c2[4532],simde_mm_xor_si128(c2[15194],simde_mm_xor_si128(c2[13294],simde_mm_xor_si128(c2[3609],simde_mm_xor_si128(c2[11352],simde_mm_xor_si128(c2[7539],simde_mm_xor_si128(c2[5603],simde_mm_xor_si128(c2[9480],simde_mm_xor_si128(c2[2732],simde_mm_xor_si128(c2[5649],simde_mm_xor_si128(c2[1776],simde_mm_xor_si128(c2[9565],simde_mm_xor_si128(c2[11491],simde_mm_xor_si128(c2[4728],simde_mm_xor_si128(c2[1858],simde_mm_xor_si128(c2[9599],simde_mm_xor_si128(c2[11542],simde_mm_xor_si128(c2[11548],simde_mm_xor_si128(c2[14494],simde_mm_xor_si128(c2[928],c2[11586]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[374]=simde_mm_xor_si128(c2[13558],simde_mm_xor_si128(c2[4502],simde_mm_xor_si128(c2[7495],simde_mm_xor_si128(c2[4627],c2[14487]))));
|
|
|
|
//row: 18
|
|
d2[396]=simde_mm_xor_si128(c2[14566],simde_mm_xor_si128(c2[14097],simde_mm_xor_si128(c2[6395],simde_mm_xor_si128(c2[5643],c2[9552]))));
|
|
|
|
//row: 19
|
|
d2[418]=simde_mm_xor_si128(c2[6781],simde_mm_xor_si128(c2[13602],simde_mm_xor_si128(c2[3221],simde_mm_xor_si128(c2[2304],c2[12068]))));
|
|
|
|
//row: 20
|
|
d2[440]=simde_mm_xor_si128(c2[3892],simde_mm_xor_si128(c2[10654],simde_mm_xor_si128(c2[16],simde_mm_xor_si128(c2[14527],simde_mm_xor_si128(c2[8717],simde_mm_xor_si128(c2[3925],simde_mm_xor_si128(c2[1016],simde_mm_xor_si128(c2[11667],simde_mm_xor_si128(c2[4940],simde_mm_xor_si128(c2[14623],simde_mm_xor_si128(c2[3007],simde_mm_xor_si128(c2[7876],simde_mm_xor_si128(c2[13691],simde_mm_xor_si128(c2[14656],simde_mm_xor_si128(c2[1104],simde_mm_xor_si128(c2[177],simde_mm_xor_si128(c2[11812],simde_mm_xor_si128(c2[5035],simde_mm_xor_si128(c2[12818],simde_mm_xor_si128(c2[9918],simde_mm_xor_si128(c2[12812],simde_mm_xor_si128(c2[3180],simde_mm_xor_si128(c2[7058],simde_mm_xor_si128(c2[8986],simde_mm_xor_si128(c2[13868],simde_mm_xor_si128(c2[13869],simde_mm_xor_si128(c2[4192],simde_mm_xor_si128(c2[11988],simde_mm_xor_si128(c2[11016],simde_mm_xor_si128(c2[9071],simde_mm_xor_si128(c2[1381],simde_mm_xor_si128(c2[401],simde_mm_xor_si128(c2[4288],simde_mm_xor_si128(c2[11053],simde_mm_xor_si128(c2[8201],simde_mm_xor_si128(c2[13033],simde_mm_xor_si128(c2[8192],simde_mm_xor_si128(c2[15005],simde_mm_xor_si128(c2[5336],simde_mm_xor_si128(c2[4373],simde_mm_xor_si128(c2[4371],simde_mm_xor_si128(c2[1497],simde_mm_xor_si128(c2[11193],simde_mm_xor_si128(c2[7305],simde_mm_xor_si128(c2[7362],simde_mm_xor_si128(c2[12196],simde_mm_xor_si128(c2[11238],simde_mm_xor_si128(c2[12232],simde_mm_xor_si128(c2[12251],simde_mm_xor_si128(c2[7405],simde_mm_xor_si128(c2[3569],simde_mm_xor_si128(c2[677],simde_mm_xor_si128(c2[11317],simde_mm_xor_si128(c2[9417],simde_mm_xor_si128(c2[15241],simde_mm_xor_si128(c2[7497],simde_mm_xor_si128(c2[3662],simde_mm_xor_si128(c2[1726],simde_mm_xor_si128(c2[5603],simde_mm_xor_si128(c2[14364],simde_mm_xor_si128(c2[1772],simde_mm_xor_si128(c2[13386],simde_mm_xor_si128(c2[5688],simde_mm_xor_si128(c2[7614],simde_mm_xor_si128(c2[851],simde_mm_xor_si128(c2[13468],simde_mm_xor_si128(c2[5722],simde_mm_xor_si128(c2[7665],simde_mm_xor_si128(c2[10617],simde_mm_xor_si128(c2[12560],c2[7709]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[462]=simde_mm_xor_si128(c2[1990],simde_mm_xor_si128(c2[7980],simde_mm_xor_si128(c2[10405],simde_mm_xor_si128(c2[15408],c2[13514]))));
|
|
|
|
//row: 22
|
|
d2[484]=simde_mm_xor_si128(c2[7761],simde_mm_xor_si128(c2[13121],simde_mm_xor_si128(c2[12202],c2[1723])));
|
|
|
|
//row: 23
|
|
d2[506]=simde_mm_xor_si128(c2[1981],simde_mm_xor_si128(c2[5896],simde_mm_xor_si128(c2[5291],c2[811])));
|
|
|
|
//row: 24
|
|
d2[528]=simde_mm_xor_si128(c2[7752],simde_mm_xor_si128(c2[14536],simde_mm_xor_si128(c2[3876],simde_mm_xor_si128(c2[2922],simde_mm_xor_si128(c2[5810],simde_mm_xor_si128(c2[7807],simde_mm_xor_si128(c2[4898],simde_mm_xor_si128(c2[62],simde_mm_xor_si128(c2[8800],simde_mm_xor_si128(c2[2996],simde_mm_xor_si128(c2[6867],simde_mm_xor_si128(c2[11758],simde_mm_xor_si128(c2[2086],simde_mm_xor_si128(c2[3051],simde_mm_xor_si128(c2[9822],simde_mm_xor_si128(c2[4059],simde_mm_xor_si128(c2[185],simde_mm_xor_si128(c2[8895],simde_mm_xor_si128(c2[8903],simde_mm_xor_si128(c2[1191],simde_mm_xor_si128(c2[13778],simde_mm_xor_si128(c2[1207],simde_mm_xor_si128(c2[7040],simde_mm_xor_si128(c2[10918],simde_mm_xor_si128(c2[12868],simde_mm_xor_si128(c2[2263],simde_mm_xor_si128(c2[2264],simde_mm_xor_si128(c2[8052],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[14876],simde_mm_xor_si128(c2[12953],simde_mm_xor_si128(c2[5241],simde_mm_xor_si128(c2[4283],simde_mm_xor_si128(c2[8148],simde_mm_xor_si128(c2[12061],simde_mm_xor_si128(c2[1428],simde_mm_xor_si128(c2[12074],simde_mm_xor_si128(c2[3400],simde_mm_xor_si128(c2[9196],simde_mm_xor_si128(c2[8233],simde_mm_xor_si128(c2[502],simde_mm_xor_si128(c2[5379],simde_mm_xor_si128(c2[15053],simde_mm_xor_si128(c2[11187],simde_mm_xor_si128(c2[11222],simde_mm_xor_si128(c2[591],simde_mm_xor_si128(c2[15098],simde_mm_xor_si128(c2[627],simde_mm_xor_si128(c2[624],simde_mm_xor_si128(c2[11265],simde_mm_xor_si128(c2[7451],simde_mm_xor_si128(c2[4537],simde_mm_xor_si128(c2[15199],simde_mm_xor_si128(c2[13299],simde_mm_xor_si128(c2[3614],simde_mm_xor_si128(c2[11357],simde_mm_xor_si128(c2[7544],simde_mm_xor_si128(c2[5608],simde_mm_xor_si128(c2[9463],simde_mm_xor_si128(c2[2737],simde_mm_xor_si128(c2[5632],simde_mm_xor_si128(c2[1781],simde_mm_xor_si128(c2[9548],simde_mm_xor_si128(c2[11496],simde_mm_xor_si128(c2[4711],simde_mm_xor_si128(c2[1863],simde_mm_xor_si128(c2[9604],simde_mm_xor_si128(c2[11547],simde_mm_xor_si128(c2[14477],simde_mm_xor_si128(c2[933],c2[11591]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 25
|
|
d2[550]=simde_mm_xor_si128(c2[6837],simde_mm_xor_si128(c2[14799],simde_mm_xor_si128(c2[14834],c2[6427])));
|
|
|
|
//row: 26
|
|
d2[572]=simde_mm_xor_si128(c2[4860],simde_mm_xor_si128(c2[5916],simde_mm_xor_si128(c2[2126],c2[3570])));
|
|
|
|
//row: 27
|
|
d2[594]=simde_mm_xor_si128(c2[10697],simde_mm_xor_si128(c2[6092],c2[11984]));
|
|
|
|
//row: 28
|
|
d2[616]=simde_mm_xor_si128(c2[5814],simde_mm_xor_si128(c2[1144],simde_mm_xor_si128(c2[8582],c2[7710])));
|
|
|
|
//row: 29
|
|
d2[638]=simde_mm_xor_si128(c2[1939],simde_mm_xor_si128(c2[8723],simde_mm_xor_si128(c2[13572],simde_mm_xor_si128(c2[11628],simde_mm_xor_si128(c2[12596],simde_mm_xor_si128(c2[1994],simde_mm_xor_si128(c2[14572],simde_mm_xor_si128(c2[8768],simde_mm_xor_si128(c2[9736],simde_mm_xor_si128(c2[1029],simde_mm_xor_si128(c2[3009],simde_mm_xor_si128(c2[12692],simde_mm_xor_si128(c2[1076],simde_mm_xor_si128(c2[5945],simde_mm_xor_si128(c2[11760],simde_mm_xor_si128(c2[11757],simde_mm_xor_si128(c2[12725],simde_mm_xor_si128(c2[13733],simde_mm_xor_si128(c2[9859],simde_mm_xor_si128(c2[2114],simde_mm_xor_si128(c2[3082],simde_mm_xor_si128(c2[10887],simde_mm_xor_si128(c2[7965],simde_mm_xor_si128(c2[10881],simde_mm_xor_si128(c2[1249],simde_mm_xor_si128(c2[5105],simde_mm_xor_si128(c2[6087],simde_mm_xor_si128(c2[7055],simde_mm_xor_si128(c2[11937],simde_mm_xor_si128(c2[11938],simde_mm_xor_si128(c2[1293],simde_mm_xor_si128(c2[2261],simde_mm_xor_si128(c2[10035],simde_mm_xor_si128(c2[9085],simde_mm_xor_si128(c2[6172],simde_mm_xor_si128(c2[7140],simde_mm_xor_si128(c2[14937],simde_mm_xor_si128(c2[13957],simde_mm_xor_si128(c2[2335],simde_mm_xor_si128(c2[6248],simde_mm_xor_si128(c2[11102],simde_mm_xor_si128(c2[5293],simde_mm_xor_si128(c2[6261],simde_mm_xor_si128(c2[13074],simde_mm_xor_si128(c2[3405],simde_mm_xor_si128(c2[1452],simde_mm_xor_si128(c2[2420],simde_mm_xor_si128(c2[15053],simde_mm_xor_si128(c2[9240],simde_mm_xor_si128(c2[4406],simde_mm_xor_si128(c2[5374],simde_mm_xor_si128(c2[5431],simde_mm_xor_si128(c2[10265],simde_mm_xor_si128(c2[8317],simde_mm_xor_si128(c2[9285],simde_mm_xor_si128(c2[10301],simde_mm_xor_si128(c2[10298],simde_mm_xor_si128(c2[4506],simde_mm_xor_si128(c2[5474],simde_mm_xor_si128(c2[8366],simde_mm_xor_si128(c2[1638],simde_mm_xor_si128(c2[14233],simde_mm_xor_si128(c2[9386],simde_mm_xor_si128(c2[7486],simde_mm_xor_si128(c2[13288],simde_mm_xor_si128(c2[4576],simde_mm_xor_si128(c2[5544],simde_mm_xor_si128(c2[1731],simde_mm_xor_si128(c2[15282],simde_mm_xor_si128(c2[2704],simde_mm_xor_si128(c2[3672],simde_mm_xor_si128(c2[12411],simde_mm_xor_si128(c2[15328],simde_mm_xor_si128(c2[10487],simde_mm_xor_si128(c2[11455],simde_mm_xor_si128(c2[3711],simde_mm_xor_si128(c2[3757],simde_mm_xor_si128(c2[5683],simde_mm_xor_si128(c2[14407],simde_mm_xor_si128(c2[11537],simde_mm_xor_si128(c2[3791],simde_mm_xor_si128(c2[4766],simde_mm_xor_si128(c2[5734],simde_mm_xor_si128(c2[8686],simde_mm_xor_si128(c2[10607],simde_mm_xor_si128(c2[4810],c2[5778]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 30
|
|
d2[660]=simde_mm_xor_si128(c2[10657],simde_mm_xor_si128(c2[1954],simde_mm_xor_si128(c2[5813],simde_mm_xor_si128(c2[6781],simde_mm_xor_si128(c2[4859],simde_mm_xor_si128(c2[5827],simde_mm_xor_si128(c2[10658],simde_mm_xor_si128(c2[10712],simde_mm_xor_si128(c2[6835],simde_mm_xor_si128(c2[7803],simde_mm_xor_si128(c2[1999],simde_mm_xor_si128(c2[2967],simde_mm_xor_si128(c2[11705],simde_mm_xor_si128(c2[5901],simde_mm_xor_si128(c2[8804],simde_mm_xor_si128(c2[9772],simde_mm_xor_si128(c2[14663],simde_mm_xor_si128(c2[4991],simde_mm_xor_si128(c2[4988],simde_mm_xor_si128(c2[5956],simde_mm_xor_si128(c2[6964],simde_mm_xor_si128(c2[2122],simde_mm_xor_si128(c2[3090],simde_mm_xor_si128(c2[10832],simde_mm_xor_si128(c2[11800],simde_mm_xor_si128(c2[4096],simde_mm_xor_si128(c2[1196],simde_mm_xor_si128(c2[3144],simde_mm_xor_si128(c2[4112],simde_mm_xor_si128(c2[9945],simde_mm_xor_si128(c2[12855],simde_mm_xor_si128(c2[13823],simde_mm_xor_si128(c2[14805],simde_mm_xor_si128(c2[264],simde_mm_xor_si128(c2[5168],simde_mm_xor_si128(c2[4201],simde_mm_xor_si128(c2[5169],simde_mm_xor_si128(c2[9989],simde_mm_xor_si128(c2[10957],simde_mm_xor_si128(c2[3266],simde_mm_xor_si128(c2[1326],simde_mm_xor_si128(c2[2294],simde_mm_xor_si128(c2[14890],simde_mm_xor_si128(c2[371],simde_mm_xor_si128(c2[8146],simde_mm_xor_si128(c2[7188],simde_mm_xor_si128(c2[10085],simde_mm_xor_si128(c2[11053],simde_mm_xor_si128(c2[14966],simde_mm_xor_si128(c2[3365],simde_mm_xor_si128(c2[4333],simde_mm_xor_si128(c2[14011],simde_mm_xor_si128(c2[14979],simde_mm_xor_si128(c2[441],simde_mm_xor_si128(c2[6305],simde_mm_xor_si128(c2[12101],simde_mm_xor_si128(c2[10170],simde_mm_xor_si128(c2[11138],simde_mm_xor_si128(c2[8284],simde_mm_xor_si128(c2[2471],simde_mm_xor_si128(c2[13124],simde_mm_xor_si128(c2[14092],simde_mm_xor_si128(c2[14127],simde_mm_xor_si128(c2[2528],simde_mm_xor_si128(c2[3496],simde_mm_xor_si128(c2[1548],simde_mm_xor_si128(c2[2516],simde_mm_xor_si128(c2[15097],simde_mm_xor_si128(c2[3532],simde_mm_xor_si128(c2[2561],simde_mm_xor_si128(c2[3529],simde_mm_xor_si128(c2[13202],simde_mm_xor_si128(c2[14170],simde_mm_xor_si128(c2[10356],simde_mm_xor_si128(c2[7442],simde_mm_xor_si128(c2[1649],simde_mm_xor_si128(c2[2617],simde_mm_xor_si128(c2[717],simde_mm_xor_si128(c2[6519],simde_mm_xor_si128(c2[13294],simde_mm_xor_si128(c2[14262],simde_mm_xor_si128(c2[10449],simde_mm_xor_si128(c2[7545],simde_mm_xor_si128(c2[8513],simde_mm_xor_si128(c2[11400],simde_mm_xor_si128(c2[12368],simde_mm_xor_si128(c2[5642],simde_mm_xor_si128(c2[7569],simde_mm_xor_si128(c2[8537],simde_mm_xor_si128(c2[3696],simde_mm_xor_si128(c2[4664],simde_mm_xor_si128(c2[12453],simde_mm_xor_si128(c2[14401],simde_mm_xor_si128(c2[6648],simde_mm_xor_si128(c2[7616],simde_mm_xor_si128(c2[4768],simde_mm_xor_si128(c2[11541],simde_mm_xor_si128(c2[12509],simde_mm_xor_si128(c2[13484],simde_mm_xor_si128(c2[14452],simde_mm_xor_si128(c2[1895],simde_mm_xor_si128(c2[3838],simde_mm_xor_si128(c2[13528],c2[14496])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 31
|
|
d2[682]=simde_mm_xor_si128(c2[12597],simde_mm_xor_si128(c2[4850],simde_mm_xor_si128(c2[3872],simde_mm_xor_si128(c2[11634],simde_mm_xor_si128(c2[8721],simde_mm_xor_si128(c2[974],simde_mm_xor_si128(c2[7745],simde_mm_xor_si128(c2[14539],simde_mm_xor_si128(c2[20],simde_mm_xor_si128(c2[12630],simde_mm_xor_si128(c2[4905],simde_mm_xor_si128(c2[9743],simde_mm_xor_si128(c2[1996],simde_mm_xor_si128(c2[4885],simde_mm_xor_si128(c2[11679],simde_mm_xor_si128(c2[12647],simde_mm_xor_si128(c2[4890],simde_mm_xor_si128(c2[13645],simde_mm_xor_si128(c2[5898],simde_mm_xor_si128(c2[7841],simde_mm_xor_si128(c2[94],simde_mm_xor_si128(c2[11712],simde_mm_xor_si128(c2[3965],simde_mm_xor_si128(c2[1116],simde_mm_xor_si128(c2[8856],simde_mm_xor_si128(c2[6909],simde_mm_xor_si128(c2[14671],simde_mm_xor_si128(c2[7896],simde_mm_xor_si128(c2[14668],simde_mm_xor_si128(c2[149],simde_mm_xor_si128(c2[8904],simde_mm_xor_si128(c2[1157],simde_mm_xor_si128(c2[5030],simde_mm_xor_si128(c2[12770],simde_mm_xor_si128(c2[13740],simde_mm_xor_si128(c2[5025],simde_mm_xor_si128(c2[5993],simde_mm_xor_si128(c2[6036],simde_mm_xor_si128(c2[13776],simde_mm_xor_si128(c2[3136],simde_mm_xor_si128(c2[10876],simde_mm_xor_si128(c2[6030],simde_mm_xor_si128(c2[13792],simde_mm_xor_si128(c2[11885],simde_mm_xor_si128(c2[4138],simde_mm_xor_si128(c2[276],simde_mm_xor_si128(c2[8016],simde_mm_xor_si128(c2[2204],simde_mm_xor_si128(c2[8976],simde_mm_xor_si128(c2[9944],simde_mm_xor_si128(c2[7086],simde_mm_xor_si128(c2[14848],simde_mm_xor_si128(c2[7087],simde_mm_xor_si128(c2[14849],simde_mm_xor_si128(c2[12897],simde_mm_xor_si128(c2[4182],simde_mm_xor_si128(c2[5150],simde_mm_xor_si128(c2[9038],simde_mm_xor_si128(c2[5206],simde_mm_xor_si128(c2[12946],simde_mm_xor_si128(c2[4234],simde_mm_xor_si128(c2[11974],simde_mm_xor_si128(c2[2289],simde_mm_xor_si128(c2[9083],simde_mm_xor_si128(c2[10051],simde_mm_xor_si128(c2[10086],simde_mm_xor_si128(c2[2339],simde_mm_xor_si128(c2[9128],simde_mm_xor_si128(c2[1381],simde_mm_xor_si128(c2[12993],simde_mm_xor_si128(c2[5246],simde_mm_xor_si128(c2[1419],simde_mm_xor_si128(c2[9159],simde_mm_xor_si128(c2[6251],simde_mm_xor_si128(c2[14013],simde_mm_xor_si128(c2[1410],simde_mm_xor_si128(c2[8204],simde_mm_xor_si128(c2[9172],simde_mm_xor_si128(c2[8245],simde_mm_xor_si128(c2[498],simde_mm_xor_si128(c2[14041],simde_mm_xor_si128(c2[6294],simde_mm_xor_si128(c2[13078],simde_mm_xor_si128(c2[4363],simde_mm_xor_si128(c2[5331],simde_mm_xor_si128(c2[10224],simde_mm_xor_si128(c2[2477],simde_mm_xor_si128(c2[4411],simde_mm_xor_si128(c2[12151],simde_mm_xor_si128(c2[545],simde_mm_xor_si128(c2[7317],simde_mm_xor_si128(c2[8285],simde_mm_xor_si128(c2[580],simde_mm_xor_si128(c2[8320],simde_mm_xor_si128(c2[5414],simde_mm_xor_si128(c2[13176],simde_mm_xor_si128(c2[4456],simde_mm_xor_si128(c2[11228],simde_mm_xor_si128(c2[12196],simde_mm_xor_si128(c2[5472],simde_mm_xor_si128(c2[13212],simde_mm_xor_si128(c2[5469],simde_mm_xor_si128(c2[13209],simde_mm_xor_si128(c2[623],simde_mm_xor_si128(c2[7395],simde_mm_xor_si128(c2[8363],simde_mm_xor_si128(c2[12296],simde_mm_xor_si128(c2[4549],simde_mm_xor_si128(c2[9382],simde_mm_xor_si128(c2[1635],simde_mm_xor_si128(c2[4535],simde_mm_xor_si128(c2[12297],simde_mm_xor_si128(c2[2657],simde_mm_xor_si128(c2[10397],simde_mm_xor_si128(c2[8459],simde_mm_xor_si128(c2[712],simde_mm_xor_si128(c2[715],simde_mm_xor_si128(c2[7487],simde_mm_xor_si128(c2[8455],simde_mm_xor_si128(c2[12367],simde_mm_xor_si128(c2[4620],simde_mm_xor_si128(c2[10431],simde_mm_xor_si128(c2[2684],simde_mm_xor_si128(c2[14308],simde_mm_xor_si128(c2[5593],simde_mm_xor_si128(c2[6561],simde_mm_xor_si128(c2[7582],simde_mm_xor_si128(c2[15322],simde_mm_xor_si128(c2[10477],simde_mm_xor_si128(c2[2730],simde_mm_xor_si128(c2[6604],simde_mm_xor_si128(c2[13376],simde_mm_xor_si128(c2[14344],simde_mm_xor_si128(c2[14393],simde_mm_xor_si128(c2[6646],simde_mm_xor_si128(c2[854],simde_mm_xor_si128(c2[8594],simde_mm_xor_si128(c2[9556],simde_mm_xor_si128(c2[1809],simde_mm_xor_si128(c2[6708],simde_mm_xor_si128(c2[14448],simde_mm_xor_si128(c2[14449],simde_mm_xor_si128(c2[6702],simde_mm_xor_si128(c2[883],simde_mm_xor_si128(c2[7677],simde_mm_xor_si128(c2[8645],simde_mm_xor_si128(c2[3835],simde_mm_xor_si128(c2[11575],simde_mm_xor_si128(c2[5778],simde_mm_xor_si128(c2[13518],simde_mm_xor_si128(c2[927],simde_mm_xor_si128(c2[7721],c2[8689]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[704]=simde_mm_xor_si128(c2[9681],simde_mm_xor_si128(c2[978],simde_mm_xor_si128(c2[4859],simde_mm_xor_si128(c2[5827],simde_mm_xor_si128(c2[3883],simde_mm_xor_si128(c2[4851],simde_mm_xor_si128(c2[14541],simde_mm_xor_si128(c2[9736],simde_mm_xor_si128(c2[5859],simde_mm_xor_si128(c2[6827],simde_mm_xor_si128(c2[1023],simde_mm_xor_si128(c2[1991],simde_mm_xor_si128(c2[10751],simde_mm_xor_si128(c2[4947],simde_mm_xor_si128(c2[7850],simde_mm_xor_si128(c2[8818],simde_mm_xor_si128(c2[13687],simde_mm_xor_si128(c2[4015],simde_mm_xor_si128(c2[4012],simde_mm_xor_si128(c2[4980],simde_mm_xor_si128(c2[5988],simde_mm_xor_si128(c2[1146],simde_mm_xor_si128(c2[2114],simde_mm_xor_si128(c2[9856],simde_mm_xor_si128(c2[10824],simde_mm_xor_si128(c2[3142],simde_mm_xor_si128(c2[220],simde_mm_xor_si128(c2[2168],simde_mm_xor_si128(c2[3136],simde_mm_xor_si128(c2[8991],simde_mm_xor_si128(c2[11901],simde_mm_xor_si128(c2[12869],simde_mm_xor_si128(c2[13829],simde_mm_xor_si128(c2[14797],simde_mm_xor_si128(c2[4192],simde_mm_xor_si128(c2[3225],simde_mm_xor_si128(c2[4193],simde_mm_xor_si128(c2[9035],simde_mm_xor_si128(c2[10003],simde_mm_xor_si128(c2[2290],simde_mm_xor_si128(c2[372],simde_mm_xor_si128(c2[1340],simde_mm_xor_si128(c2[13914],simde_mm_xor_si128(c2[14882],simde_mm_xor_si128(c2[7192],simde_mm_xor_si128(c2[6212],simde_mm_xor_si128(c2[9109],simde_mm_xor_si128(c2[10077],simde_mm_xor_si128(c2[14012],simde_mm_xor_si128(c2[2389],simde_mm_xor_si128(c2[3357],simde_mm_xor_si128(c2[13035],simde_mm_xor_si128(c2[14003],simde_mm_xor_si128(c2[5329],simde_mm_xor_si128(c2[11147],simde_mm_xor_si128(c2[9216],simde_mm_xor_si128(c2[10184],simde_mm_xor_si128(c2[7308],simde_mm_xor_si128(c2[1517],simde_mm_xor_si128(c2[12148],simde_mm_xor_si128(c2[13116],simde_mm_xor_si128(c2[9256],simde_mm_xor_si128(c2[13173],simde_mm_xor_si128(c2[1552],simde_mm_xor_si128(c2[2520],simde_mm_xor_si128(c2[572],simde_mm_xor_si128(c2[1540],simde_mm_xor_si128(c2[2556],simde_mm_xor_si128(c2[1585],simde_mm_xor_si128(c2[2553],simde_mm_xor_si128(c2[12248],simde_mm_xor_si128(c2[13216],simde_mm_xor_si128(c2[2573],simde_mm_xor_si128(c2[9380],simde_mm_xor_si128(c2[6488],simde_mm_xor_si128(c2[673],simde_mm_xor_si128(c2[1641],simde_mm_xor_si128(c2[15228],simde_mm_xor_si128(c2[5565],simde_mm_xor_si128(c2[12340],simde_mm_xor_si128(c2[13308],simde_mm_xor_si128(c2[9473],simde_mm_xor_si128(c2[6569],simde_mm_xor_si128(c2[7537],simde_mm_xor_si128(c2[10446],simde_mm_xor_si128(c2[11414],simde_mm_xor_si128(c2[4666],simde_mm_xor_si128(c2[6615],simde_mm_xor_si128(c2[7583],simde_mm_xor_si128(c2[2742],simde_mm_xor_si128(c2[3710],simde_mm_xor_si128(c2[11499],simde_mm_xor_si128(c2[13425],simde_mm_xor_si128(c2[5694],simde_mm_xor_si128(c2[6662],simde_mm_xor_si128(c2[3792],simde_mm_xor_si128(c2[10565],simde_mm_xor_si128(c2[11533],simde_mm_xor_si128(c2[12508],simde_mm_xor_si128(c2[13476],simde_mm_xor_si128(c2[941],simde_mm_xor_si128(c2[2862],simde_mm_xor_si128(c2[12552],c2[13520])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[726]=simde_mm_xor_si128(c2[7791],simde_mm_xor_si128(c2[107],simde_mm_xor_si128(c2[13076],c2[5770])));
|
|
|
|
//row: 34
|
|
d2[748]=simde_mm_xor_si128(c2[11619],simde_mm_xor_si128(c2[328],simde_mm_xor_si128(c2[667],c2[6559])));
|
|
|
|
//row: 35
|
|
d2[770]=simde_mm_xor_si128(c2[1949],simde_mm_xor_si128(c2[8733],simde_mm_xor_si128(c2[13560],simde_mm_xor_si128(c2[12584],simde_mm_xor_si128(c2[1982],simde_mm_xor_si128(c2[14582],simde_mm_xor_si128(c2[9724],simde_mm_xor_si128(c2[3922],simde_mm_xor_si128(c2[2997],simde_mm_xor_si128(c2[12680],simde_mm_xor_si128(c2[1064],simde_mm_xor_si128(c2[5955],simde_mm_xor_si128(c2[11748],simde_mm_xor_si128(c2[12735],simde_mm_xor_si128(c2[13743],simde_mm_xor_si128(c2[9869],simde_mm_xor_si128(c2[3092],simde_mm_xor_si128(c2[10875],simde_mm_xor_si128(c2[7975],simde_mm_xor_si128(c2[10869],simde_mm_xor_si128(c2[1237],simde_mm_xor_si128(c2[5115],simde_mm_xor_si128(c2[7043],simde_mm_xor_si128(c2[2213],simde_mm_xor_si128(c2[11925],simde_mm_xor_si128(c2[11926],simde_mm_xor_si128(c2[2249],simde_mm_xor_si128(c2[10045],simde_mm_xor_si128(c2[9073],simde_mm_xor_si128(c2[7128],simde_mm_xor_si128(c2[14925],simde_mm_xor_si128(c2[13967],simde_mm_xor_si128(c2[2345],simde_mm_xor_si128(c2[6258],simde_mm_xor_si128(c2[11090],simde_mm_xor_si128(c2[6249],simde_mm_xor_si128(c2[13084],simde_mm_xor_si128(c2[3393],simde_mm_xor_si128(c2[2430],simde_mm_xor_si128(c2[15063],simde_mm_xor_si128(c2[9250],simde_mm_xor_si128(c2[5384],simde_mm_xor_si128(c2[3444],simde_mm_xor_si128(c2[5419],simde_mm_xor_si128(c2[10253],simde_mm_xor_si128(c2[9295],simde_mm_xor_si128(c2[10311],simde_mm_xor_si128(c2[10308],simde_mm_xor_si128(c2[5462],simde_mm_xor_si128(c2[1648],simde_mm_xor_si128(c2[14221],simde_mm_xor_si128(c2[9374],simde_mm_xor_si128(c2[7496],simde_mm_xor_si128(c2[13298],simde_mm_xor_si128(c2[5554],simde_mm_xor_si128(c2[1719],simde_mm_xor_si128(c2[15270],simde_mm_xor_si128(c2[3660],simde_mm_xor_si128(c2[12421],simde_mm_xor_si128(c2[15316],simde_mm_xor_si128(c2[11443],simde_mm_xor_si128(c2[3745],simde_mm_xor_si128(c2[5693],simde_mm_xor_si128(c2[14395],simde_mm_xor_si128(c2[11547],simde_mm_xor_si128(c2[3801],simde_mm_xor_si128(c2[5722],simde_mm_xor_si128(c2[8674],simde_mm_xor_si128(c2[10617],c2[5766])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[792]=simde_mm_xor_si128(c2[6784],simde_mm_xor_si128(c2[15136],simde_mm_xor_si128(c2[3566],c2[12419])));
|
|
|
|
//row: 37
|
|
d2[814]=simde_mm_xor_si128(c2[10649],simde_mm_xor_si128(c2[11617],simde_mm_xor_si128(c2[2914],simde_mm_xor_si128(c2[7763],simde_mm_xor_si128(c2[6787],simde_mm_xor_si128(c2[10704],simde_mm_xor_si128(c2[11672],simde_mm_xor_si128(c2[8763],simde_mm_xor_si128(c2[3927],simde_mm_xor_si128(c2[14583],simde_mm_xor_si128(c2[11719],simde_mm_xor_si128(c2[12687],simde_mm_xor_si128(c2[6883],simde_mm_xor_si128(c2[10754],simde_mm_xor_si128(c2[14655],simde_mm_xor_si128(c2[136],simde_mm_xor_si128(c2[5951],simde_mm_xor_si128(c2[6916],simde_mm_xor_si128(c2[7924],simde_mm_xor_si128(c2[4050],simde_mm_xor_si128(c2[12760],simde_mm_xor_si128(c2[4110],simde_mm_xor_si128(c2[5078],simde_mm_xor_si128(c2[2156],simde_mm_xor_si128(c2[5072],simde_mm_xor_si128(c2[9959],simde_mm_xor_si128(c2[10927],simde_mm_xor_si128(c2[14805],simde_mm_xor_si128(c2[1246],simde_mm_xor_si128(c2[6128],simde_mm_xor_si128(c2[6129],simde_mm_xor_si128(c2[11939],simde_mm_xor_si128(c2[4226],simde_mm_xor_si128(c2[3276],simde_mm_xor_si128(c2[1331],simde_mm_xor_si128(c2[8160],simde_mm_xor_si128(c2[9128],simde_mm_xor_si128(c2[8148],simde_mm_xor_si128(c2[12013],simde_mm_xor_si128(c2[14980],simde_mm_xor_si128(c2[461],simde_mm_xor_si128(c2[5293],simde_mm_xor_si128(c2[452],simde_mm_xor_si128(c2[6297],simde_mm_xor_si128(c2[7265],simde_mm_xor_si128(c2[13083],simde_mm_xor_si128(c2[12120],simde_mm_xor_si128(c2[8276],simde_mm_xor_si128(c2[9244],simde_mm_xor_si128(c2[3453],simde_mm_xor_si128(c2[15052],simde_mm_xor_si128(c2[14141],simde_mm_xor_si128(c2[15109],simde_mm_xor_si128(c2[4456],simde_mm_xor_si128(c2[3476],simde_mm_xor_si128(c2[12202],simde_mm_xor_si128(c2[4492],simde_mm_xor_si128(c2[4489],simde_mm_xor_si128(c2[15152],simde_mm_xor_si128(c2[10348],simde_mm_xor_si128(c2[11316],simde_mm_xor_si128(c2[8424],simde_mm_xor_si128(c2[3577],simde_mm_xor_si128(c2[709],simde_mm_xor_si128(c2[1677],simde_mm_xor_si128(c2[7501],simde_mm_xor_si128(c2[15244],simde_mm_xor_si128(c2[11409],simde_mm_xor_si128(c2[9473],simde_mm_xor_si128(c2[13350],simde_mm_xor_si128(c2[5634],simde_mm_xor_si128(c2[6602],simde_mm_xor_si128(c2[9519],simde_mm_xor_si128(c2[5646],simde_mm_xor_si128(c2[12467],simde_mm_xor_si128(c2[13435],simde_mm_xor_si128(c2[15361],simde_mm_xor_si128(c2[8598],simde_mm_xor_si128(c2[4760],simde_mm_xor_si128(c2[5728],simde_mm_xor_si128(c2[13469],simde_mm_xor_si128(c2[15412],simde_mm_xor_si128(c2[1909],simde_mm_xor_si128(c2[2877],simde_mm_xor_si128(c2[4798],c2[15456])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[836]=simde_mm_xor_si128(c2[3882],simde_mm_xor_si128(c2[4280],simde_mm_xor_si128(c2[1421],c2[6351])));
|
|
|
|
//row: 39
|
|
d2[858]=simde_mm_xor_si128(c2[11674],simde_mm_xor_si128(c2[7892],simde_mm_xor_si128(c2[5150],c2[853])));
|
|
|
|
//row: 40
|
|
d2[880]=simde_mm_xor_si128(c2[19],simde_mm_xor_si128(c2[12950],c2[7532]));
|
|
|
|
//row: 41
|
|
d2[902]=simde_mm_xor_si128(c2[10699],simde_mm_xor_si128(c2[12720],simde_mm_xor_si128(c2[9109],c2[809])));
|
|
|
|
//row: 42
|
|
d2[924]=simde_mm_xor_si128(c2[7763],simde_mm_xor_si128(c2[14525],simde_mm_xor_si128(c2[2919],simde_mm_xor_si128(c2[3887],simde_mm_xor_si128(c2[1943],simde_mm_xor_si128(c2[2911],simde_mm_xor_si128(c2[18],simde_mm_xor_si128(c2[7796],simde_mm_xor_si128(c2[3919],simde_mm_xor_si128(c2[4887],simde_mm_xor_si128(c2[14570],simde_mm_xor_si128(c2[51],simde_mm_xor_si128(c2[8811],simde_mm_xor_si128(c2[3007],simde_mm_xor_si128(c2[5910],simde_mm_xor_si128(c2[6878],simde_mm_xor_si128(c2[11769],simde_mm_xor_si128(c2[2075],simde_mm_xor_si128(c2[2072],simde_mm_xor_si128(c2[3040],simde_mm_xor_si128(c2[4048],simde_mm_xor_si128(c2[14715],simde_mm_xor_si128(c2[196],simde_mm_xor_si128(c2[7938],simde_mm_xor_si128(c2[8906],simde_mm_xor_si128(c2[3085],simde_mm_xor_si128(c2[1202],simde_mm_xor_si128(c2[13789],simde_mm_xor_si128(c2[228],simde_mm_xor_si128(c2[1196],simde_mm_xor_si128(c2[7051],simde_mm_xor_si128(c2[9961],simde_mm_xor_si128(c2[10929],simde_mm_xor_si128(c2[11889],simde_mm_xor_si128(c2[12857],simde_mm_xor_si128(c2[2252],simde_mm_xor_si128(c2[1285],simde_mm_xor_si128(c2[2253],simde_mm_xor_si128(c2[7095],simde_mm_xor_si128(c2[8063],simde_mm_xor_si128(c2[372],simde_mm_xor_si128(c2[13919],simde_mm_xor_si128(c2[14887],simde_mm_xor_si128(c2[11974],simde_mm_xor_si128(c2[12942],simde_mm_xor_si128(c2[5252],simde_mm_xor_si128(c2[4272],simde_mm_xor_si128(c2[7191],simde_mm_xor_si128(c2[8159],simde_mm_xor_si128(c2[12072],simde_mm_xor_si128(c2[449],simde_mm_xor_si128(c2[1417],simde_mm_xor_si128(c2[11095],simde_mm_xor_si128(c2[12063],simde_mm_xor_si128(c2[3389],simde_mm_xor_si128(c2[9207],simde_mm_xor_si128(c2[7276],simde_mm_xor_si128(c2[8244],simde_mm_xor_si128(c2[5368],simde_mm_xor_si128(c2[15064],simde_mm_xor_si128(c2[10208],simde_mm_xor_si128(c2[11176],simde_mm_xor_si128(c2[11233],simde_mm_xor_si128(c2[15099],simde_mm_xor_si128(c2[580],simde_mm_xor_si128(c2[14141],simde_mm_xor_si128(c2[15109],simde_mm_xor_si128(c2[616],simde_mm_xor_si128(c2[15154],simde_mm_xor_si128(c2[635],simde_mm_xor_si128(c2[10308],simde_mm_xor_si128(c2[11276],simde_mm_xor_si128(c2[7440],simde_mm_xor_si128(c2[4548],simde_mm_xor_si128(c2[14220],simde_mm_xor_si128(c2[15188],simde_mm_xor_si128(c2[13288],simde_mm_xor_si128(c2[3625],simde_mm_xor_si128(c2[10400],simde_mm_xor_si128(c2[11368],simde_mm_xor_si128(c2[7533],simde_mm_xor_si128(c2[4629],simde_mm_xor_si128(c2[5597],simde_mm_xor_si128(c2[8506],simde_mm_xor_si128(c2[9474],simde_mm_xor_si128(c2[2748],simde_mm_xor_si128(c2[4675],simde_mm_xor_si128(c2[5643],simde_mm_xor_si128(c2[802],simde_mm_xor_si128(c2[1770],simde_mm_xor_si128(c2[9559],simde_mm_xor_si128(c2[11485],simde_mm_xor_si128(c2[3754],simde_mm_xor_si128(c2[4722],simde_mm_xor_si128(c2[1852],simde_mm_xor_si128(c2[8625],simde_mm_xor_si128(c2[9593],simde_mm_xor_si128(c2[10568],simde_mm_xor_si128(c2[11536],simde_mm_xor_si128(c2[14488],simde_mm_xor_si128(c2[944],simde_mm_xor_si128(c2[10612],c2[11580]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 43
|
|
d2[946]=simde_mm_xor_si128(c2[13558],simde_mm_xor_si128(c2[4855],simde_mm_xor_si128(c2[9682],simde_mm_xor_si128(c2[7760],simde_mm_xor_si128(c2[8728],simde_mm_xor_si128(c2[13613],simde_mm_xor_si128(c2[10704],simde_mm_xor_si128(c2[4900],simde_mm_xor_si128(c2[5868],simde_mm_xor_si128(c2[1993],simde_mm_xor_si128(c2[14628],simde_mm_xor_si128(c2[8802],simde_mm_xor_si128(c2[12673],simde_mm_xor_si128(c2[2077],simde_mm_xor_si128(c2[7892],simde_mm_xor_si128(c2[7889],simde_mm_xor_si128(c2[8857],simde_mm_xor_si128(c2[9865],simde_mm_xor_si128(c2[5991],simde_mm_xor_si128(c2[13733],simde_mm_xor_si128(c2[14701],simde_mm_xor_si128(c2[6997],simde_mm_xor_si128(c2[4097],simde_mm_xor_si128(c2[7013],simde_mm_xor_si128(c2[12868],simde_mm_xor_si128(c2[1237],simde_mm_xor_si128(c2[2219],simde_mm_xor_si128(c2[3187],simde_mm_xor_si128(c2[8069],simde_mm_xor_si128(c2[8070],simde_mm_xor_si128(c2[12912],simde_mm_xor_si128(c2[13880],simde_mm_xor_si128(c2[6167],simde_mm_xor_si128(c2[5195],simde_mm_xor_si128(c2[2304],simde_mm_xor_si128(c2[3272],simde_mm_xor_si128(c2[11047],simde_mm_xor_si128(c2[10089],simde_mm_xor_si128(c2[13954],simde_mm_xor_si128(c2[2380],simde_mm_xor_si128(c2[7234],simde_mm_xor_si128(c2[1425],simde_mm_xor_si128(c2[2393],simde_mm_xor_si128(c2[9206],simde_mm_xor_si128(c2[15024],simde_mm_xor_si128(c2[13071],simde_mm_xor_si128(c2[14039],simde_mm_xor_si128(c2[11185],simde_mm_xor_si128(c2[5372],simde_mm_xor_si128(c2[538],simde_mm_xor_si128(c2[1506],simde_mm_xor_si128(c2[1541],simde_mm_xor_si128(c2[6397],simde_mm_xor_si128(c2[4449],simde_mm_xor_si128(c2[5417],simde_mm_xor_si128(c2[6433],simde_mm_xor_si128(c2[6430],simde_mm_xor_si128(c2[616],simde_mm_xor_si128(c2[1584],simde_mm_xor_si128(c2[13257],simde_mm_xor_si128(c2[10343],simde_mm_xor_si128(c2[5518],simde_mm_xor_si128(c2[3618],simde_mm_xor_si128(c2[9420],simde_mm_xor_si128(c2[708],simde_mm_xor_si128(c2[1676],simde_mm_xor_si128(c2[3608],simde_mm_xor_si128(c2[13350],simde_mm_xor_si128(c2[11414],simde_mm_xor_si128(c2[14301],simde_mm_xor_si128(c2[15269],simde_mm_xor_si128(c2[8543],simde_mm_xor_si128(c2[11460],simde_mm_xor_si128(c2[6619],simde_mm_xor_si128(c2[7587],simde_mm_xor_si128(c2[5635],simde_mm_xor_si128(c2[15376],simde_mm_xor_si128(c2[1815],simde_mm_xor_si128(c2[10517],simde_mm_xor_si128(c2[7669],simde_mm_xor_si128(c2[15410],simde_mm_xor_si128(c2[898],simde_mm_xor_si128(c2[1866],simde_mm_xor_si128(c2[4796],simde_mm_xor_si128(c2[6739],simde_mm_xor_si128(c2[942],c2[1910]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 44
|
|
d2[968]=simde_mm_xor_si128(c2[5821],simde_mm_xor_si128(c2[12605],simde_mm_xor_si128(c2[1945],simde_mm_xor_si128(c2[969],simde_mm_xor_si128(c2[14524],simde_mm_xor_si128(c2[5854],simde_mm_xor_si128(c2[2967],simde_mm_xor_si128(c2[13596],simde_mm_xor_si128(c2[6869],simde_mm_xor_si128(c2[1065],simde_mm_xor_si128(c2[4936],simde_mm_xor_si128(c2[9827],simde_mm_xor_si128(c2[133],simde_mm_xor_si128(c2[1120],simde_mm_xor_si128(c2[2128],simde_mm_xor_si128(c2[13741],simde_mm_xor_si128(c2[6964],simde_mm_xor_si128(c2[14747],simde_mm_xor_si128(c2[11847],simde_mm_xor_si128(c2[14741],simde_mm_xor_si128(c2[5109],simde_mm_xor_si128(c2[8987],simde_mm_xor_si128(c2[10915],simde_mm_xor_si128(c2[310],simde_mm_xor_si128(c2[311],simde_mm_xor_si128(c2[6121],simde_mm_xor_si128(c2[4195],simde_mm_xor_si128(c2[13917],simde_mm_xor_si128(c2[12945],simde_mm_xor_si128(c2[11000],simde_mm_xor_si128(c2[3310],simde_mm_xor_si128(c2[2352],simde_mm_xor_si128(c2[6217],simde_mm_xor_si128(c2[5254],simde_mm_xor_si128(c2[10130],simde_mm_xor_si128(c2[14962],simde_mm_xor_si128(c2[10121],simde_mm_xor_si128(c2[1469],simde_mm_xor_si128(c2[7265],simde_mm_xor_si128(c2[6302],simde_mm_xor_si128(c2[3448],simde_mm_xor_si128(c2[13122],simde_mm_xor_si128(c2[9256],simde_mm_xor_si128(c2[9291],simde_mm_xor_si128(c2[14125],simde_mm_xor_si128(c2[13167],simde_mm_xor_si128(c2[14183],simde_mm_xor_si128(c2[14180],simde_mm_xor_si128(c2[9334],simde_mm_xor_si128(c2[5520],simde_mm_xor_si128(c2[2606],simde_mm_xor_si128(c2[13246],simde_mm_xor_si128(c2[11368],simde_mm_xor_si128(c2[1683],simde_mm_xor_si128(c2[9426],simde_mm_xor_si128(c2[5591],simde_mm_xor_si128(c2[3655],simde_mm_xor_si128(c2[7532],simde_mm_xor_si128(c2[806],simde_mm_xor_si128(c2[3701],simde_mm_xor_si128(c2[15315],simde_mm_xor_si128(c2[7617],simde_mm_xor_si128(c2[9565],simde_mm_xor_si128(c2[2780],simde_mm_xor_si128(c2[15419],simde_mm_xor_si128(c2[7673],simde_mm_xor_si128(c2[9594],simde_mm_xor_si128(c2[12546],simde_mm_xor_si128(c2[14489],c2[9638])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 45
|
|
d2[990]=simde_mm_xor_si128(c2[1985],simde_mm_xor_si128(c2[3172],c2[11102]));
|
|
}
|
|
}
|
|
#endif
|