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=384, byte encoding
|
|
static inline void ldpc384_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<24; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm_xor_si128(c2[3187],simde_mm_xor_si128(c2[12676],simde_mm_xor_si128(c2[13740],simde_mm_xor_si128(c2[4241],simde_mm_xor_si128(c2[3217],simde_mm_xor_si128(c2[10623],simde_mm_xor_si128(c2[7445],simde_mm_xor_si128(c2[2211],simde_mm_xor_si128(c2[12772],simde_mm_xor_si128(c2[8564],simde_mm_xor_si128(c2[1223],simde_mm_xor_si128(c2[9652],simde_mm_xor_si128(c2[144],simde_mm_xor_si128(c2[210],simde_mm_xor_si128(c2[12884],simde_mm_xor_si128(c2[3377],simde_mm_xor_si128(c2[5531],simde_mm_xor_si128(c2[249],simde_mm_xor_si128(c2[256],simde_mm_xor_si128(c2[8749],simde_mm_xor_si128(c2[1354],simde_mm_xor_si128(c2[7692],simde_mm_xor_si128(c2[11972],simde_mm_xor_si128(c2[11968],simde_mm_xor_si128(c2[9849],simde_mm_xor_si128(c2[12020],simde_mm_xor_si128(c2[394],simde_mm_xor_si128(c2[8835],simde_mm_xor_si128(c2[14179],simde_mm_xor_si128(c2[2555],simde_mm_xor_si128(c2[16275],simde_mm_xor_si128(c2[498],simde_mm_xor_si128(c2[1544],simde_mm_xor_si128(c2[4712],simde_mm_xor_si128(c2[14262],simde_mm_xor_si128(c2[7938],simde_mm_xor_si128(c2[1603],simde_mm_xor_si128(c2[1633],simde_mm_xor_si128(c2[6933],simde_mm_xor_si128(c2[7982],simde_mm_xor_si128(c2[5926],simde_mm_xor_si128(c2[9084],simde_mm_xor_si128(c2[5925],simde_mm_xor_si128(c2[10189],simde_mm_xor_si128(c2[9125],simde_mm_xor_si128(c2[4909],simde_mm_xor_si128(c2[8125],simde_mm_xor_si128(c2[3894],simde_mm_xor_si128(c2[6003],simde_mm_xor_si128(c2[11334],simde_mm_xor_si128(c2[2902],simde_mm_xor_si128(c2[787],simde_mm_xor_si128(c2[2935],simde_mm_xor_si128(c2[3992],simde_mm_xor_si128(c2[13506],simde_mm_xor_si128(c2[2991],simde_mm_xor_si128(c2[879],simde_mm_xor_si128(c2[16720],simde_mm_xor_si128(c2[5147],simde_mm_xor_si128(c2[12548],simde_mm_xor_si128(c2[14652],simde_mm_xor_si128(c2[11540],simde_mm_xor_si128(c2[14688],simde_mm_xor_si128(c2[8354],simde_mm_xor_si128(c2[11589],simde_mm_xor_si128(c2[1015],c2[6310]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[24]=simde_mm_xor_si128(c2[3187],simde_mm_xor_si128(c2[4243],simde_mm_xor_si128(c2[13732],simde_mm_xor_si128(c2[14796],simde_mm_xor_si128(c2[5297],simde_mm_xor_si128(c2[3217],simde_mm_xor_si128(c2[4273],simde_mm_xor_si128(c2[11679],simde_mm_xor_si128(c2[8501],simde_mm_xor_si128(c2[2211],simde_mm_xor_si128(c2[3267],simde_mm_xor_si128(c2[13828],simde_mm_xor_si128(c2[9620],simde_mm_xor_si128(c2[1223],simde_mm_xor_si128(c2[2279],simde_mm_xor_si128(c2[10708],simde_mm_xor_si128(c2[1200],simde_mm_xor_si128(c2[1266],simde_mm_xor_si128(c2[13940],simde_mm_xor_si128(c2[4433],simde_mm_xor_si128(c2[5531],simde_mm_xor_si128(c2[6587],simde_mm_xor_si128(c2[1305],simde_mm_xor_si128(c2[1312],simde_mm_xor_si128(c2[8749],simde_mm_xor_si128(c2[9805],simde_mm_xor_si128(c2[2410],simde_mm_xor_si128(c2[8748],simde_mm_xor_si128(c2[13028],simde_mm_xor_si128(c2[13024],simde_mm_xor_si128(c2[10905],simde_mm_xor_si128(c2[13076],simde_mm_xor_si128(c2[1450],simde_mm_xor_si128(c2[9891],simde_mm_xor_si128(c2[14179],simde_mm_xor_si128(c2[15235],simde_mm_xor_si128(c2[3611],simde_mm_xor_si128(c2[436],simde_mm_xor_si128(c2[498],simde_mm_xor_si128(c2[1554],simde_mm_xor_si128(c2[2600],simde_mm_xor_si128(c2[5768],simde_mm_xor_si128(c2[14262],simde_mm_xor_si128(c2[15318],simde_mm_xor_si128(c2[8994],simde_mm_xor_si128(c2[2659],simde_mm_xor_si128(c2[1633],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[7989],simde_mm_xor_si128(c2[9038],simde_mm_xor_si128(c2[5926],simde_mm_xor_si128(c2[6982],simde_mm_xor_si128(c2[10140],simde_mm_xor_si128(c2[6981],simde_mm_xor_si128(c2[11245],simde_mm_xor_si128(c2[10181],simde_mm_xor_si128(c2[5965],simde_mm_xor_si128(c2[8125],simde_mm_xor_si128(c2[9181],simde_mm_xor_si128(c2[4950],simde_mm_xor_si128(c2[7059],simde_mm_xor_si128(c2[11334],simde_mm_xor_si128(c2[12390],simde_mm_xor_si128(c2[3958],simde_mm_xor_si128(c2[1843],simde_mm_xor_si128(c2[3991],simde_mm_xor_si128(c2[5048],simde_mm_xor_si128(c2[14562],simde_mm_xor_si128(c2[2991],simde_mm_xor_si128(c2[4047],simde_mm_xor_si128(c2[1935],simde_mm_xor_si128(c2[881],simde_mm_xor_si128(c2[5147],simde_mm_xor_si128(c2[6203],simde_mm_xor_si128(c2[13604],simde_mm_xor_si128(c2[15708],simde_mm_xor_si128(c2[11540],simde_mm_xor_si128(c2[12596],simde_mm_xor_si128(c2[15744],simde_mm_xor_si128(c2[9410],simde_mm_xor_si128(c2[11589],simde_mm_xor_si128(c2[12645],simde_mm_xor_si128(c2[2071],c2[7366])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[48]=simde_mm_xor_si128(c2[4243],simde_mm_xor_si128(c2[13732],simde_mm_xor_si128(c2[13740],simde_mm_xor_si128(c2[14796],simde_mm_xor_si128(c2[4241],simde_mm_xor_si128(c2[5297],simde_mm_xor_si128(c2[4273],simde_mm_xor_si128(c2[10623],simde_mm_xor_si128(c2[11679],simde_mm_xor_si128(c2[7445],simde_mm_xor_si128(c2[8501],simde_mm_xor_si128(c2[3267],simde_mm_xor_si128(c2[13828],simde_mm_xor_si128(c2[8564],simde_mm_xor_si128(c2[9620],simde_mm_xor_si128(c2[2279],simde_mm_xor_si128(c2[10708],simde_mm_xor_si128(c2[144],simde_mm_xor_si128(c2[1200],simde_mm_xor_si128(c2[1266],simde_mm_xor_si128(c2[12884],simde_mm_xor_si128(c2[13940],simde_mm_xor_si128(c2[3377],simde_mm_xor_si128(c2[4433],simde_mm_xor_si128(c2[6587],simde_mm_xor_si128(c2[1305],simde_mm_xor_si128(c2[256],simde_mm_xor_si128(c2[1312],simde_mm_xor_si128(c2[9805],simde_mm_xor_si128(c2[1354],simde_mm_xor_si128(c2[2410],simde_mm_xor_si128(c2[7692],simde_mm_xor_si128(c2[8748],simde_mm_xor_si128(c2[13028],simde_mm_xor_si128(c2[11968],simde_mm_xor_si128(c2[13024],simde_mm_xor_si128(c2[9849],simde_mm_xor_si128(c2[10905],simde_mm_xor_si128(c2[13076],simde_mm_xor_si128(c2[394],simde_mm_xor_si128(c2[1450],simde_mm_xor_si128(c2[8835],simde_mm_xor_si128(c2[9891],simde_mm_xor_si128(c2[15235],simde_mm_xor_si128(c2[3611],simde_mm_xor_si128(c2[16275],simde_mm_xor_si128(c2[436],simde_mm_xor_si128(c2[1554],simde_mm_xor_si128(c2[1544],simde_mm_xor_si128(c2[2600],simde_mm_xor_si128(c2[4712],simde_mm_xor_si128(c2[5768],simde_mm_xor_si128(c2[15318],simde_mm_xor_si128(c2[8994],simde_mm_xor_si128(c2[1603],simde_mm_xor_si128(c2[2659],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[7989],simde_mm_xor_si128(c2[7982],simde_mm_xor_si128(c2[9038],simde_mm_xor_si128(c2[6982],simde_mm_xor_si128(c2[9084],simde_mm_xor_si128(c2[10140],simde_mm_xor_si128(c2[5925],simde_mm_xor_si128(c2[6981],simde_mm_xor_si128(c2[11245],simde_mm_xor_si128(c2[9125],simde_mm_xor_si128(c2[10181],simde_mm_xor_si128(c2[4909],simde_mm_xor_si128(c2[5965],simde_mm_xor_si128(c2[9181],simde_mm_xor_si128(c2[4950],simde_mm_xor_si128(c2[6003],simde_mm_xor_si128(c2[7059],simde_mm_xor_si128(c2[12390],simde_mm_xor_si128(c2[3958],simde_mm_xor_si128(c2[787],simde_mm_xor_si128(c2[1843],simde_mm_xor_si128(c2[3991],simde_mm_xor_si128(c2[3992],simde_mm_xor_si128(c2[5048],simde_mm_xor_si128(c2[13506],simde_mm_xor_si128(c2[14562],simde_mm_xor_si128(c2[4047],simde_mm_xor_si128(c2[879],simde_mm_xor_si128(c2[1935],simde_mm_xor_si128(c2[16720],simde_mm_xor_si128(c2[881],simde_mm_xor_si128(c2[6203],simde_mm_xor_si128(c2[13604],simde_mm_xor_si128(c2[14652],simde_mm_xor_si128(c2[15708],simde_mm_xor_si128(c2[12596],simde_mm_xor_si128(c2[14688],simde_mm_xor_si128(c2[15744],simde_mm_xor_si128(c2[8354],simde_mm_xor_si128(c2[9410],simde_mm_xor_si128(c2[12645],simde_mm_xor_si128(c2[2071],simde_mm_xor_si128(c2[6310],c2[7366]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[72]=simde_mm_xor_si128(c2[4243],simde_mm_xor_si128(c2[13732],simde_mm_xor_si128(c2[14796],simde_mm_xor_si128(c2[4241],simde_mm_xor_si128(c2[5297],simde_mm_xor_si128(c2[4273],simde_mm_xor_si128(c2[11679],simde_mm_xor_si128(c2[7445],simde_mm_xor_si128(c2[8501],simde_mm_xor_si128(c2[3267],simde_mm_xor_si128(c2[13828],simde_mm_xor_si128(c2[9620],simde_mm_xor_si128(c2[2279],simde_mm_xor_si128(c2[10708],simde_mm_xor_si128(c2[144],simde_mm_xor_si128(c2[1200],simde_mm_xor_si128(c2[1266],simde_mm_xor_si128(c2[13940],simde_mm_xor_si128(c2[3377],simde_mm_xor_si128(c2[4433],simde_mm_xor_si128(c2[6587],simde_mm_xor_si128(c2[1305],simde_mm_xor_si128(c2[1312],simde_mm_xor_si128(c2[9805],simde_mm_xor_si128(c2[2410],simde_mm_xor_si128(c2[7692],simde_mm_xor_si128(c2[8748],simde_mm_xor_si128(c2[13028],simde_mm_xor_si128(c2[13024],simde_mm_xor_si128(c2[9849],simde_mm_xor_si128(c2[10905],simde_mm_xor_si128(c2[13076],simde_mm_xor_si128(c2[1450],simde_mm_xor_si128(c2[8835],simde_mm_xor_si128(c2[9891],simde_mm_xor_si128(c2[15235],simde_mm_xor_si128(c2[3611],simde_mm_xor_si128(c2[436],simde_mm_xor_si128(c2[1554],simde_mm_xor_si128(c2[2600],simde_mm_xor_si128(c2[4712],simde_mm_xor_si128(c2[5768],simde_mm_xor_si128(c2[15318],simde_mm_xor_si128(c2[8994],simde_mm_xor_si128(c2[1603],simde_mm_xor_si128(c2[2659],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[7989],simde_mm_xor_si128(c2[7982],simde_mm_xor_si128(c2[9038],simde_mm_xor_si128(c2[6982],simde_mm_xor_si128(c2[10140],simde_mm_xor_si128(c2[5925],simde_mm_xor_si128(c2[6981],simde_mm_xor_si128(c2[11245],simde_mm_xor_si128(c2[10181],simde_mm_xor_si128(c2[4909],simde_mm_xor_si128(c2[5965],simde_mm_xor_si128(c2[9181],simde_mm_xor_si128(c2[4950],simde_mm_xor_si128(c2[7059],simde_mm_xor_si128(c2[12390],simde_mm_xor_si128(c2[3958],simde_mm_xor_si128(c2[787],simde_mm_xor_si128(c2[1843],simde_mm_xor_si128(c2[3991],simde_mm_xor_si128(c2[5048],simde_mm_xor_si128(c2[13506],simde_mm_xor_si128(c2[14562],simde_mm_xor_si128(c2[4047],simde_mm_xor_si128(c2[1935],simde_mm_xor_si128(c2[16720],simde_mm_xor_si128(c2[881],simde_mm_xor_si128(c2[6203],simde_mm_xor_si128(c2[13604],simde_mm_xor_si128(c2[15708],simde_mm_xor_si128(c2[12596],simde_mm_xor_si128(c2[15744],simde_mm_xor_si128(c2[8354],simde_mm_xor_si128(c2[9410],simde_mm_xor_si128(c2[12645],simde_mm_xor_si128(c2[2071],simde_mm_xor_si128(c2[6310],c2[7366])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[96]=simde_mm_xor_si128(c2[12692],c2[5339]);
|
|
|
|
//row: 5
|
|
d2[120]=simde_mm_xor_si128(c2[5],simde_mm_xor_si128(c2[9518],simde_mm_xor_si128(c2[10582],simde_mm_xor_si128(c2[1059],simde_mm_xor_si128(c2[3180],simde_mm_xor_si128(c2[59],simde_mm_xor_si128(c2[7441],simde_mm_xor_si128(c2[4287],simde_mm_xor_si128(c2[14832],simde_mm_xor_si128(c2[15948],simde_mm_xor_si128(c2[9614],simde_mm_xor_si128(c2[5382],simde_mm_xor_si128(c2[14936],simde_mm_xor_si128(c2[6494],simde_mm_xor_si128(c2[13881],simde_mm_xor_si128(c2[3319],simde_mm_xor_si128(c2[13923],simde_mm_xor_si128(c2[9702],simde_mm_xor_si128(c2[195],simde_mm_xor_si128(c2[2373],simde_mm_xor_si128(c2[13986],simde_mm_xor_si128(c2[13969],simde_mm_xor_si128(c2[5591],simde_mm_xor_si128(c2[15091],simde_mm_xor_si128(c2[4534],simde_mm_xor_si128(c2[8790],simde_mm_xor_si128(c2[8786],simde_mm_xor_si128(c2[6691],simde_mm_xor_si128(c2[8838],simde_mm_xor_si128(c2[14131],simde_mm_xor_si128(c2[5677],simde_mm_xor_si128(c2[10997],simde_mm_xor_si128(c2[16292],simde_mm_xor_si128(c2[13117],simde_mm_xor_si128(c2[14211],simde_mm_xor_si128(c2[15281],simde_mm_xor_si128(c2[1554],simde_mm_xor_si128(c2[11104],simde_mm_xor_si128(c2[4756],simde_mm_xor_si128(c2[15316],simde_mm_xor_si128(c2[15370],simde_mm_xor_si128(c2[3751],simde_mm_xor_si128(c2[4800],simde_mm_xor_si128(c2[6922],simde_mm_xor_si128(c2[2744],simde_mm_xor_si128(c2[5926],simde_mm_xor_si128(c2[2743],simde_mm_xor_si128(c2[7031],simde_mm_xor_si128(c2[5967],simde_mm_xor_si128(c2[1751],simde_mm_xor_si128(c2[4967],simde_mm_xor_si128(c2[736],simde_mm_xor_si128(c2[2845],simde_mm_xor_si128(c2[8176],simde_mm_xor_si128(c2[16615],simde_mm_xor_si128(c2[14500],simde_mm_xor_si128(c2[1839],simde_mm_xor_si128(c2[16672],simde_mm_xor_si128(c2[834],simde_mm_xor_si128(c2[10324],simde_mm_xor_si128(c2[16704],simde_mm_xor_si128(c2[14592],simde_mm_xor_si128(c2[13538],simde_mm_xor_si128(c2[1989],simde_mm_xor_si128(c2[9366],simde_mm_xor_si128(c2[11494],simde_mm_xor_si128(c2[8358],simde_mm_xor_si128(c2[11530],simde_mm_xor_si128(c2[5196],simde_mm_xor_si128(c2[8407],simde_mm_xor_si128(c2[14752],simde_mm_xor_si128(c2[3128],c2[4179]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[144]=simde_mm_xor_si128(c2[6353],simde_mm_xor_si128(c2[1360],simde_mm_xor_si128(c2[1536],simde_mm_xor_si128(c2[16389],simde_mm_xor_si128(c2[13301],simde_mm_xor_si128(c2[14559],simde_mm_xor_si128(c2[2977],c2[2030])))))));
|
|
|
|
//row: 7
|
|
d2[168]=simde_mm_xor_si128(c2[9504],simde_mm_xor_si128(c2[14835],simde_mm_xor_si128(c2[12883],simde_mm_xor_si128(c2[14084],simde_mm_xor_si128(c2[2514],c2[2791])))));
|
|
|
|
//row: 8
|
|
d2[192]=simde_mm_xor_si128(c2[6359],simde_mm_xor_si128(c2[14789],simde_mm_xor_si128(c2[15848],simde_mm_xor_si128(c2[7407],simde_mm_xor_si128(c2[17],simde_mm_xor_si128(c2[7415],simde_mm_xor_si128(c2[8471],simde_mm_xor_si128(c2[7413],simde_mm_xor_si128(c2[14787],simde_mm_xor_si128(c2[15843],simde_mm_xor_si128(c2[3187],simde_mm_xor_si128(c2[6389],simde_mm_xor_si128(c2[14843],simde_mm_xor_si128(c2[13795],simde_mm_xor_si128(c2[4274],simde_mm_xor_si128(c2[5330],simde_mm_xor_si128(c2[10617],simde_mm_xor_si128(c2[1120],simde_mm_xor_si128(c2[2176],simde_mm_xor_si128(c2[3227],simde_mm_xor_si128(c2[5383],simde_mm_xor_si128(c2[13837],simde_mm_xor_si128(c2[15944],simde_mm_xor_si128(c2[7503],simde_mm_xor_si128(c2[11712],simde_mm_xor_si128(c2[2215],simde_mm_xor_si128(c2[3271],simde_mm_xor_si128(c2[4371],simde_mm_xor_si128(c2[12825],simde_mm_xor_si128(c2[12824],simde_mm_xor_si128(c2[4383],simde_mm_xor_si128(c2[3316],simde_mm_xor_si128(c2[10714],simde_mm_xor_si128(c2[11770],simde_mm_xor_si128(c2[5434],simde_mm_xor_si128(c2[3382],simde_mm_xor_si128(c2[11812],simde_mm_xor_si128(c2[16032],simde_mm_xor_si128(c2[6535],simde_mm_xor_si128(c2[7591],simde_mm_xor_si128(c2[6549],simde_mm_xor_si128(c2[13923],simde_mm_xor_si128(c2[14979],simde_mm_xor_si128(c2[8703],simde_mm_xor_si128(c2[262],simde_mm_xor_si128(c2[3421],simde_mm_xor_si128(c2[11875],simde_mm_xor_si128(c2[3428],simde_mm_xor_si128(c2[10802],simde_mm_xor_si128(c2[11858],simde_mm_xor_si128(c2[11921],simde_mm_xor_si128(c2[3456],simde_mm_xor_si128(c2[4526],simde_mm_xor_si128(c2[11924],simde_mm_xor_si128(c2[12980],simde_mm_xor_si128(c2[10864],simde_mm_xor_si128(c2[1367],simde_mm_xor_si128(c2[2423],simde_mm_xor_si128(c2[15120],simde_mm_xor_si128(c2[6679],simde_mm_xor_si128(c2[15140],simde_mm_xor_si128(c2[5619],simde_mm_xor_si128(c2[6675],simde_mm_xor_si128(c2[13021],simde_mm_xor_si128(c2[3524],simde_mm_xor_si128(c2[4580],simde_mm_xor_si128(c2[15168],simde_mm_xor_si128(c2[6727],simde_mm_xor_si128(c2[3566],simde_mm_xor_si128(c2[10964],simde_mm_xor_si128(c2[12020],simde_mm_xor_si128(c2[12007],simde_mm_xor_si128(c2[2510],simde_mm_xor_si128(c2[3566],simde_mm_xor_si128(c2[432],simde_mm_xor_si128(c2[8886],simde_mm_xor_si128(c2[5727],simde_mm_xor_si128(c2[14181],simde_mm_xor_si128(c2[2552],simde_mm_xor_si128(c2[9950],simde_mm_xor_si128(c2[11006],simde_mm_xor_si128(c2[3670],simde_mm_xor_si128(c2[12100],simde_mm_xor_si128(c2[4716],simde_mm_xor_si128(c2[12114],simde_mm_xor_si128(c2[13170],simde_mm_xor_si128(c2[7884],simde_mm_xor_si128(c2[15282],simde_mm_xor_si128(c2[16338],simde_mm_xor_si128(c2[539],simde_mm_xor_si128(c2[8993],simde_mm_xor_si128(c2[11110],simde_mm_xor_si128(c2[2645],simde_mm_xor_si128(c2[4775],simde_mm_xor_si128(c2[12149],simde_mm_xor_si128(c2[13205],simde_mm_xor_si128(c2[4805],simde_mm_xor_si128(c2[13259],simde_mm_xor_si128(c2[10081],simde_mm_xor_si128(c2[1640],simde_mm_xor_si128(c2[11154],simde_mm_xor_si128(c2[1633],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[2689],simde_mm_xor_si128(c2[9074],simde_mm_xor_si128(c2[633],simde_mm_xor_si128(c2[12256],simde_mm_xor_si128(c2[2759],simde_mm_xor_si128(c2[3815],simde_mm_xor_si128(c2[9073],simde_mm_xor_si128(c2[16471],simde_mm_xor_si128(c2[632],simde_mm_xor_si128(c2[13361],simde_mm_xor_si128(c2[4896],simde_mm_xor_si128(c2[12297],simde_mm_xor_si128(c2[2800],simde_mm_xor_si128(c2[3856],simde_mm_xor_si128(c2[8081],simde_mm_xor_si128(c2[15479],simde_mm_xor_si128(c2[16535],simde_mm_xor_si128(c2[11297],simde_mm_xor_si128(c2[2832],simde_mm_xor_si128(c2[7066],simde_mm_xor_si128(c2[15520],simde_mm_xor_si128(c2[9175],simde_mm_xor_si128(c2[16573],simde_mm_xor_si128(c2[734],simde_mm_xor_si128(c2[14506],simde_mm_xor_si128(c2[6065],simde_mm_xor_si128(c2[6050],simde_mm_xor_si128(c2[14504],simde_mm_xor_si128(c2[3959],simde_mm_xor_si128(c2[11333],simde_mm_xor_si128(c2[12389],simde_mm_xor_si128(c2[8162],simde_mm_xor_si128(c2[6107],simde_mm_xor_si128(c2[14561],simde_mm_xor_si128(c2[7164],simde_mm_xor_si128(c2[14562],simde_mm_xor_si128(c2[15618],simde_mm_xor_si128(c2[16678],simde_mm_xor_si128(c2[7157],simde_mm_xor_si128(c2[8213],simde_mm_xor_si128(c2[6163],simde_mm_xor_si128(c2[14593],simde_mm_xor_si128(c2[4051],simde_mm_xor_si128(c2[11425],simde_mm_xor_si128(c2[12481],simde_mm_xor_si128(c2[2997],simde_mm_xor_si128(c2[10371],simde_mm_xor_si128(c2[11427],simde_mm_xor_si128(c2[8319],simde_mm_xor_si128(c2[16773],simde_mm_xor_si128(c2[15696],simde_mm_xor_si128(c2[7255],simde_mm_xor_si128(c2[929],simde_mm_xor_si128(c2[8327],simde_mm_xor_si128(c2[9383],simde_mm_xor_si128(c2[926],simde_mm_xor_si128(c2[14688],simde_mm_xor_si128(c2[6247],simde_mm_xor_si128(c2[965],simde_mm_xor_si128(c2[8363],simde_mm_xor_si128(c2[9419],simde_mm_xor_si128(c2[11526],simde_mm_xor_si128(c2[2029],simde_mm_xor_si128(c2[3085],simde_mm_xor_si128(c2[14737],simde_mm_xor_si128(c2[6296],simde_mm_xor_si128(c2[4187],simde_mm_xor_si128(c2[12641],simde_mm_xor_si128(c2[9458],simde_mm_xor_si128(c2[16856],simde_mm_xor_si128(c2[1017],c2[1031]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[216]=simde_mm_xor_si128(c2[14806],simde_mm_xor_si128(c2[8510],simde_mm_xor_si128(c2[1556],simde_mm_xor_si128(c2[5816],simde_mm_xor_si128(c2[10131],simde_mm_xor_si128(c2[16674],simde_mm_xor_si128(c2[16707],c2[3077])))))));
|
|
|
|
//row: 10
|
|
d2[240]=simde_mm_xor_si128(c2[5334],simde_mm_xor_si128(c2[3285],simde_mm_xor_si128(c2[2321],simde_mm_xor_si128(c2[16182],simde_mm_xor_si128(c2[16247],c2[2806])))));
|
|
|
|
//row: 11
|
|
d2[264]=simde_mm_xor_si128(c2[1072],simde_mm_xor_si128(c2[6338],simde_mm_xor_si128(c2[7394],simde_mm_xor_si128(c2[10561],simde_mm_xor_si128(c2[12],simde_mm_xor_si128(c2[11625],simde_mm_xor_si128(c2[1076],simde_mm_xor_si128(c2[2126],simde_mm_xor_si128(c2[8448],simde_mm_xor_si128(c2[3],simde_mm_xor_si128(c2[1126],simde_mm_xor_si128(c2[6392],simde_mm_xor_si128(c2[7448],simde_mm_xor_si128(c2[8508],simde_mm_xor_si128(c2[14854],simde_mm_xor_si128(c2[5330],simde_mm_xor_si128(c2[11676],simde_mm_xor_si128(c2[6390],simde_mm_xor_si128(c2[96],simde_mm_xor_si128(c2[5386],simde_mm_xor_si128(c2[6442],simde_mm_xor_si128(c2[10657],simde_mm_xor_si128(c2[108],simde_mm_xor_si128(c2[6449],simde_mm_xor_si128(c2[12771],simde_mm_xor_si128(c2[16003],simde_mm_xor_si128(c2[4374],simde_mm_xor_si128(c2[5430],simde_mm_xor_si128(c2[7537],simde_mm_xor_si128(c2[13883],simde_mm_xor_si128(c2[14948],simde_mm_xor_si128(c2[4375],simde_mm_xor_si128(c2[14990],simde_mm_xor_si128(c2[4417],simde_mm_xor_si128(c2[10769],simde_mm_xor_si128(c2[196],simde_mm_xor_si128(c2[1262],simde_mm_xor_si128(c2[7584],simde_mm_xor_si128(c2[3416],simde_mm_xor_si128(c2[8706],simde_mm_xor_si128(c2[9762],simde_mm_xor_si128(c2[15029],simde_mm_xor_si128(c2[4480],simde_mm_xor_si128(c2[15036],simde_mm_xor_si128(c2[4487],simde_mm_xor_si128(c2[6634],simde_mm_xor_si128(c2[11924],simde_mm_xor_si128(c2[12980],simde_mm_xor_si128(c2[16134],simde_mm_xor_si128(c2[5585],simde_mm_xor_si128(c2[5577],simde_mm_xor_si128(c2[11923],simde_mm_xor_si128(c2[9857],simde_mm_xor_si128(c2[16179],simde_mm_xor_si128(c2[9853],simde_mm_xor_si128(c2[16199],simde_mm_xor_si128(c2[7734],simde_mm_xor_si128(c2[14080],simde_mm_xor_si128(c2[9905],simde_mm_xor_si128(c2[16227],simde_mm_xor_si128(c2[15174],simde_mm_xor_si128(c2[4625],simde_mm_xor_si128(c2[6720],simde_mm_xor_si128(c2[13066],simde_mm_xor_si128(c2[12064],simde_mm_xor_si128(c2[435],simde_mm_xor_si128(c2[1491],simde_mm_xor_si128(c2[440],simde_mm_xor_si128(c2[6786],simde_mm_xor_si128(c2[14160],simde_mm_xor_si128(c2[3611],simde_mm_xor_si128(c2[15278],simde_mm_xor_si128(c2[3649],simde_mm_xor_si128(c2[4705],simde_mm_xor_si128(c2[16324],simde_mm_xor_si128(c2[5775],simde_mm_xor_si128(c2[2597],simde_mm_xor_si128(c2[8943],simde_mm_xor_si128(c2[12147],simde_mm_xor_si128(c2[542],simde_mm_xor_si128(c2[1598],simde_mm_xor_si128(c2[5823],simde_mm_xor_si128(c2[12145],simde_mm_xor_si128(c2[16383],simde_mm_xor_si128(c2[5810],simde_mm_xor_si128(c2[16437],simde_mm_xor_si128(c2[4808],simde_mm_xor_si128(c2[5864],simde_mm_xor_si128(c2[4818],simde_mm_xor_si128(c2[11140],simde_mm_xor_si128(c2[5867],simde_mm_xor_si128(c2[12213],simde_mm_xor_si128(c2[9024],simde_mm_xor_si128(c2[3811],simde_mm_xor_si128(c2[9077],simde_mm_xor_si128(c2[10133],simde_mm_xor_si128(c2[6969],simde_mm_xor_si128(c2[13315],simde_mm_xor_si128(c2[3810],simde_mm_xor_si128(c2[10132],simde_mm_xor_si128(c2[8074],simde_mm_xor_si128(c2[14420],simde_mm_xor_si128(c2[7010],simde_mm_xor_si128(c2[13356],simde_mm_xor_si128(c2[2794],simde_mm_xor_si128(c2[9140],simde_mm_xor_si128(c2[6010],simde_mm_xor_si128(c2[11300],simde_mm_xor_si128(c2[12356],simde_mm_xor_si128(c2[1779],simde_mm_xor_si128(c2[8125],simde_mm_xor_si128(c2[3888],simde_mm_xor_si128(c2[10234],simde_mm_xor_si128(c2[9219],simde_mm_xor_si128(c2[14509],simde_mm_xor_si128(c2[15565],simde_mm_xor_si128(c2[787],simde_mm_xor_si128(c2[7109],simde_mm_xor_si128(c2[15567],simde_mm_xor_si128(c2[4994],simde_mm_xor_si128(c2[16610],simde_mm_xor_si128(c2[820],simde_mm_xor_si128(c2[7166],simde_mm_xor_si128(c2[1877],simde_mm_xor_si128(c2[8223],simde_mm_xor_si128(c2[11391],simde_mm_xor_si128(c2[818],simde_mm_xor_si128(c2[876],simde_mm_xor_si128(c2[6166],simde_mm_xor_si128(c2[7222],simde_mm_xor_si128(c2[15659],simde_mm_xor_si128(c2[5110],simde_mm_xor_si128(c2[14605],simde_mm_xor_si128(c2[4032],simde_mm_xor_si128(c2[3032],simde_mm_xor_si128(c2[8322],simde_mm_xor_si128(c2[9378],simde_mm_xor_si128(c2[10433],simde_mm_xor_si128(c2[16755],simde_mm_xor_si128(c2[12537],simde_mm_xor_si128(c2[1988],simde_mm_xor_si128(c2[9425],simde_mm_xor_si128(c2[14691],simde_mm_xor_si128(c2[15747],simde_mm_xor_si128(c2[12597],simde_mm_xor_si128(c2[2024],simde_mm_xor_si128(c2[6263],simde_mm_xor_si128(c2[12585],simde_mm_xor_si128(c2[9474],simde_mm_xor_si128(c2[14740],simde_mm_xor_si128(c2[15796],simde_mm_xor_si128(c2[15795],simde_mm_xor_si128(c2[5246],simde_mm_xor_si128(c2[4195],simde_mm_xor_si128(c2[10517],c2[13691])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[288]=simde_mm_xor_si128(c2[13732],simde_mm_xor_si128(c2[10619],simde_mm_xor_si128(c2[15274],simde_mm_xor_si128(c2[8990],simde_mm_xor_si128(c2[2739],c2[11428])))));
|
|
|
|
//row: 13
|
|
d2[312]=simde_mm_xor_si128(c2[5298],simde_mm_xor_si128(c2[6354],simde_mm_xor_si128(c2[15843],simde_mm_xor_si128(c2[12],simde_mm_xor_si128(c2[7408],simde_mm_xor_si128(c2[9523],simde_mm_xor_si128(c2[5328],simde_mm_xor_si128(c2[6384],simde_mm_xor_si128(c2[13790],simde_mm_xor_si128(c2[10612],simde_mm_xor_si128(c2[4322],simde_mm_xor_si128(c2[5378],simde_mm_xor_si128(c2[15939],simde_mm_xor_si128(c2[11731],simde_mm_xor_si128(c2[3334],simde_mm_xor_si128(c2[4390],simde_mm_xor_si128(c2[12819],simde_mm_xor_si128(c2[3335],simde_mm_xor_si128(c2[1211],simde_mm_xor_si128(c2[3377],simde_mm_xor_si128(c2[16051],simde_mm_xor_si128(c2[6544],simde_mm_xor_si128(c2[7642],simde_mm_xor_si128(c2[8698],simde_mm_xor_si128(c2[3416],simde_mm_xor_si128(c2[3423],simde_mm_xor_si128(c2[10860],simde_mm_xor_si128(c2[11916],simde_mm_xor_si128(c2[4521],simde_mm_xor_si128(c2[10859],simde_mm_xor_si128(c2[15139],simde_mm_xor_si128(c2[15135],simde_mm_xor_si128(c2[13016],simde_mm_xor_si128(c2[10912],simde_mm_xor_si128(c2[15187],simde_mm_xor_si128(c2[3561],simde_mm_xor_si128(c2[12002],simde_mm_xor_si128(c2[16290],simde_mm_xor_si128(c2[451],simde_mm_xor_si128(c2[5722],simde_mm_xor_si128(c2[2547],simde_mm_xor_si128(c2[2609],simde_mm_xor_si128(c2[3665],simde_mm_xor_si128(c2[4711],simde_mm_xor_si128(c2[7879],simde_mm_xor_si128(c2[16373],simde_mm_xor_si128(c2[534],simde_mm_xor_si128(c2[11105],simde_mm_xor_si128(c2[4770],simde_mm_xor_si128(c2[3744],simde_mm_xor_si128(c2[4800],simde_mm_xor_si128(c2[10100],simde_mm_xor_si128(c2[11149],simde_mm_xor_si128(c2[8037],simde_mm_xor_si128(c2[9093],simde_mm_xor_si128(c2[12251],simde_mm_xor_si128(c2[9092],simde_mm_xor_si128(c2[13356],simde_mm_xor_si128(c2[12292],simde_mm_xor_si128(c2[8076],simde_mm_xor_si128(c2[10236],simde_mm_xor_si128(c2[11292],simde_mm_xor_si128(c2[7061],simde_mm_xor_si128(c2[9170],simde_mm_xor_si128(c2[13445],simde_mm_xor_si128(c2[14501],simde_mm_xor_si128(c2[6069],simde_mm_xor_si128(c2[3954],simde_mm_xor_si128(c2[6102],simde_mm_xor_si128(c2[7159],simde_mm_xor_si128(c2[16673],simde_mm_xor_si128(c2[5102],simde_mm_xor_si128(c2[6158],simde_mm_xor_si128(c2[4046],simde_mm_xor_si128(c2[2992],simde_mm_xor_si128(c2[7258],simde_mm_xor_si128(c2[8314],simde_mm_xor_si128(c2[15715],simde_mm_xor_si128(c2[924],simde_mm_xor_si128(c2[13651],simde_mm_xor_si128(c2[14707],simde_mm_xor_si128(c2[960],simde_mm_xor_si128(c2[11521],simde_mm_xor_si128(c2[4135],simde_mm_xor_si128(c2[13700],simde_mm_xor_si128(c2[14756],simde_mm_xor_si128(c2[4182],c2[9477])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[336]=simde_mm_xor_si128(c2[14792],simde_mm_xor_si128(c2[9039],simde_mm_xor_si128(c2[10232],simde_mm_xor_si128(c2[10277],simde_mm_xor_si128(c2[12453],c2[13680])))));
|
|
|
|
//row: 15
|
|
d2[360]=simde_mm_xor_si128(c2[1068],simde_mm_xor_si128(c2[10581],simde_mm_xor_si128(c2[11621],simde_mm_xor_si128(c2[1066],simde_mm_xor_si128(c2[2122],simde_mm_xor_si128(c2[1071],simde_mm_xor_si128(c2[1122],simde_mm_xor_si128(c2[8504],simde_mm_xor_si128(c2[4294],simde_mm_xor_si128(c2[5350],simde_mm_xor_si128(c2[2160],simde_mm_xor_si128(c2[116],simde_mm_xor_si128(c2[10677],simde_mm_xor_si128(c2[6445],simde_mm_xor_si128(c2[15999],simde_mm_xor_si128(c2[7557],simde_mm_xor_si128(c2[13888],simde_mm_xor_si128(c2[14944],simde_mm_xor_si128(c2[14986],simde_mm_xor_si128(c2[10765],simde_mm_xor_si128(c2[202],simde_mm_xor_si128(c2[1258],simde_mm_xor_si128(c2[3412],simde_mm_xor_si128(c2[15025],simde_mm_xor_si128(c2[15032],simde_mm_xor_si128(c2[6630],simde_mm_xor_si128(c2[16130],simde_mm_xor_si128(c2[4517],simde_mm_xor_si128(c2[5573],simde_mm_xor_si128(c2[9853],simde_mm_xor_si128(c2[9849],simde_mm_xor_si128(c2[6674],simde_mm_xor_si128(c2[7730],simde_mm_xor_si128(c2[9901],simde_mm_xor_si128(c2[15170],simde_mm_xor_si128(c2[5684],simde_mm_xor_si128(c2[6740],simde_mm_xor_si128(c2[12060],simde_mm_xor_si128(c2[436],simde_mm_xor_si128(c2[14180],simde_mm_xor_si128(c2[15274],simde_mm_xor_si128(c2[16320],simde_mm_xor_si128(c2[1537],simde_mm_xor_si128(c2[2593],simde_mm_xor_si128(c2[2605],simde_mm_xor_si128(c2[12167],simde_mm_xor_si128(c2[5819],simde_mm_xor_si128(c2[15323],simde_mm_xor_si128(c2[16379],simde_mm_xor_si128(c2[16433],simde_mm_xor_si128(c2[4814],simde_mm_xor_si128(c2[4807],simde_mm_xor_si128(c2[5863],simde_mm_xor_si128(c2[3807],simde_mm_xor_si128(c2[6965],simde_mm_xor_si128(c2[2750],simde_mm_xor_si128(c2[3806],simde_mm_xor_si128(c2[15427],simde_mm_xor_si128(c2[8070],simde_mm_xor_si128(c2[7030],simde_mm_xor_si128(c2[1734],simde_mm_xor_si128(c2[2790],simde_mm_xor_si128(c2[6006],simde_mm_xor_si128(c2[1799],simde_mm_xor_si128(c2[3908],simde_mm_xor_si128(c2[9239],simde_mm_xor_si128(c2[783],simde_mm_xor_si128(c2[14507],simde_mm_xor_si128(c2[15563],simde_mm_xor_si128(c2[816],simde_mm_xor_si128(c2[1873],simde_mm_xor_si128(c2[10331],simde_mm_xor_si128(c2[11387],simde_mm_xor_si128(c2[872],simde_mm_xor_si128(c2[15655],simde_mm_xor_si128(c2[13545],simde_mm_xor_si128(c2[14601],simde_mm_xor_si128(c2[8259],simde_mm_xor_si128(c2[3028],simde_mm_xor_si128(c2[10429],simde_mm_xor_si128(c2[12533],simde_mm_xor_si128(c2[9421],simde_mm_xor_si128(c2[12593],simde_mm_xor_si128(c2[5203],simde_mm_xor_si128(c2[6259],simde_mm_xor_si128(c2[9470],simde_mm_xor_si128(c2[15815],simde_mm_xor_si128(c2[3135],c2[4191]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[384]=simde_mm_xor_si128(c2[12694],simde_mm_xor_si128(c2[5288],simde_mm_xor_si128(c2[6352],simde_mm_xor_si128(c2[13748],simde_mm_xor_si128(c2[12724],simde_mm_xor_si128(c2[3235],simde_mm_xor_si128(c2[57],simde_mm_xor_si128(c2[13776],simde_mm_xor_si128(c2[11718],simde_mm_xor_si128(c2[5384],simde_mm_xor_si128(c2[1152],simde_mm_xor_si128(c2[10706],simde_mm_xor_si128(c2[2264],simde_mm_xor_si128(c2[9651],simde_mm_xor_si128(c2[2277],simde_mm_xor_si128(c2[9717],simde_mm_xor_si128(c2[5472],simde_mm_xor_si128(c2[12884],simde_mm_xor_si128(c2[15038],simde_mm_xor_si128(c2[9756],simde_mm_xor_si128(c2[9763],simde_mm_xor_si128(c2[1361],simde_mm_xor_si128(c2[10861],simde_mm_xor_si128(c2[304],simde_mm_xor_si128(c2[4560],simde_mm_xor_si128(c2[4580],simde_mm_xor_si128(c2[2461],simde_mm_xor_si128(c2[4608],simde_mm_xor_si128(c2[9901],simde_mm_xor_si128(c2[1447],simde_mm_xor_si128(c2[6791],simde_mm_xor_si128(c2[12062],simde_mm_xor_si128(c2[8887],simde_mm_xor_si128(c2[10005],simde_mm_xor_si128(c2[11051],simde_mm_xor_si128(c2[14219],simde_mm_xor_si128(c2[6874],simde_mm_xor_si128(c2[550],simde_mm_xor_si128(c2[11110],simde_mm_xor_si128(c2[10035],simde_mm_xor_si128(c2[11140],simde_mm_xor_si128(c2[16416],simde_mm_xor_si128(c2[594],simde_mm_xor_si128(c2[15409],simde_mm_xor_si128(c2[1696],simde_mm_xor_si128(c2[15408],simde_mm_xor_si128(c2[2801],simde_mm_xor_si128(c2[1737],simde_mm_xor_si128(c2[14416],simde_mm_xor_si128(c2[737],simde_mm_xor_si128(c2[13401],simde_mm_xor_si128(c2[15510],simde_mm_xor_si128(c2[3946],simde_mm_xor_si128(c2[12385],simde_mm_xor_si128(c2[10294],simde_mm_xor_si128(c2[12442],simde_mm_xor_si128(c2[13499],simde_mm_xor_si128(c2[6118],simde_mm_xor_si128(c2[12498],simde_mm_xor_si128(c2[10386],simde_mm_xor_si128(c2[9332],simde_mm_xor_si128(c2[14654],simde_mm_xor_si128(c2[5136],simde_mm_xor_si128(c2[7264],simde_mm_xor_si128(c2[4128],simde_mm_xor_si128(c2[7300],simde_mm_xor_si128(c2[966],simde_mm_xor_si128(c2[2034],simde_mm_xor_si128(c2[4177],simde_mm_xor_si128(c2[10522],c2[15793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[408]=simde_mm_xor_si128(c2[4240],simde_mm_xor_si128(c2[16530],simde_mm_xor_si128(c2[1829],simde_mm_xor_si128(c2[7174],c2[8423]))));
|
|
|
|
//row: 18
|
|
d2[432]=simde_mm_xor_si128(c2[2168],simde_mm_xor_si128(c2[3754],simde_mm_xor_si128(c2[9089],simde_mm_xor_si128(c2[5096],c2[5136]))));
|
|
|
|
//row: 19
|
|
d2[456]=simde_mm_xor_si128(c2[1065],simde_mm_xor_si128(c2[5341],simde_mm_xor_si128(c2[8805],simde_mm_xor_si128(c2[2511],c2[5772]))));
|
|
|
|
//row: 20
|
|
d2[480]=simde_mm_xor_si128(c2[14806],simde_mm_xor_si128(c2[7400],simde_mm_xor_si128(c2[8464],simde_mm_xor_si128(c2[15860],simde_mm_xor_si128(c2[11627],simde_mm_xor_si128(c2[14836],simde_mm_xor_si128(c2[5347],simde_mm_xor_si128(c2[2169],simde_mm_xor_si128(c2[13830],simde_mm_xor_si128(c2[7496],simde_mm_xor_si128(c2[3264],simde_mm_xor_si128(c2[12818],simde_mm_xor_si128(c2[4376],simde_mm_xor_si128(c2[11763],simde_mm_xor_si128(c2[14940],simde_mm_xor_si128(c2[11829],simde_mm_xor_si128(c2[7584],simde_mm_xor_si128(c2[14996],simde_mm_xor_si128(c2[255],simde_mm_xor_si128(c2[11868],simde_mm_xor_si128(c2[11875],simde_mm_xor_si128(c2[3473],simde_mm_xor_si128(c2[12973],simde_mm_xor_si128(c2[2416],simde_mm_xor_si128(c2[6672],simde_mm_xor_si128(c2[6692],simde_mm_xor_si128(c2[4573],simde_mm_xor_si128(c2[6720],simde_mm_xor_si128(c2[12013],simde_mm_xor_si128(c2[3559],simde_mm_xor_si128(c2[8903],simde_mm_xor_si128(c2[14174],simde_mm_xor_si128(c2[10999],simde_mm_xor_si128(c2[8896],simde_mm_xor_si128(c2[12117],simde_mm_xor_si128(c2[13163],simde_mm_xor_si128(c2[16331],simde_mm_xor_si128(c2[8986],simde_mm_xor_si128(c2[2662],simde_mm_xor_si128(c2[13222],simde_mm_xor_si128(c2[5829],simde_mm_xor_si128(c2[13252],simde_mm_xor_si128(c2[1633],simde_mm_xor_si128(c2[2706],simde_mm_xor_si128(c2[626],simde_mm_xor_si128(c2[3808],simde_mm_xor_si128(c2[625],simde_mm_xor_si128(c2[4913],simde_mm_xor_si128(c2[3849],simde_mm_xor_si128(c2[16528],simde_mm_xor_si128(c2[2849],simde_mm_xor_si128(c2[15513],simde_mm_xor_si128(c2[727],simde_mm_xor_si128(c2[6058],simde_mm_xor_si128(c2[14497],simde_mm_xor_si128(c2[12406],simde_mm_xor_si128(c2[14554],simde_mm_xor_si128(c2[15611],simde_mm_xor_si128(c2[8230],simde_mm_xor_si128(c2[14610],simde_mm_xor_si128(c2[12498],simde_mm_xor_si128(c2[11444],simde_mm_xor_si128(c2[16766],simde_mm_xor_si128(c2[7248],simde_mm_xor_si128(c2[9376],simde_mm_xor_si128(c2[6240],simde_mm_xor_si128(c2[9412],simde_mm_xor_si128(c2[3078],simde_mm_xor_si128(c2[6289],simde_mm_xor_si128(c2[12634],c2[1010]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[504]=simde_mm_xor_si128(c2[13788],simde_mm_xor_si128(c2[6582],simde_mm_xor_si128(c2[9236],simde_mm_xor_si128(c2[6253],c2[2070]))));
|
|
|
|
//row: 22
|
|
d2[528]=simde_mm_xor_si128(c2[14785],simde_mm_xor_si128(c2[12192],simde_mm_xor_si128(c2[10142],c2[7153])));
|
|
|
|
//row: 23
|
|
d2[552]=simde_mm_xor_si128(c2[8497],simde_mm_xor_si128(c2[9605],simde_mm_xor_si128(c2[14211],c2[12481])));
|
|
|
|
//row: 24
|
|
d2[576]=simde_mm_xor_si128(c2[13737],simde_mm_xor_si128(c2[6355],simde_mm_xor_si128(c2[7395],simde_mm_xor_si128(c2[14791],simde_mm_xor_si128(c2[10578],simde_mm_xor_si128(c2[13791],simde_mm_xor_si128(c2[4278],simde_mm_xor_si128(c2[1124],simde_mm_xor_si128(c2[12785],simde_mm_xor_si128(c2[6451],simde_mm_xor_si128(c2[2219],simde_mm_xor_si128(c2[11773],simde_mm_xor_si128(c2[3331],simde_mm_xor_si128(c2[10718],simde_mm_xor_si128(c2[14937],simde_mm_xor_si128(c2[10760],simde_mm_xor_si128(c2[6539],simde_mm_xor_si128(c2[13927],simde_mm_xor_si128(c2[11822],simde_mm_xor_si128(c2[16081],simde_mm_xor_si128(c2[10823],simde_mm_xor_si128(c2[10806],simde_mm_xor_si128(c2[2404],simde_mm_xor_si128(c2[11904],simde_mm_xor_si128(c2[1347],simde_mm_xor_si128(c2[5627],simde_mm_xor_si128(c2[5623],simde_mm_xor_si128(c2[3504],simde_mm_xor_si128(c2[5675],simde_mm_xor_si128(c2[10944],simde_mm_xor_si128(c2[2514],simde_mm_xor_si128(c2[7834],simde_mm_xor_si128(c2[13105],simde_mm_xor_si128(c2[9954],simde_mm_xor_si128(c2[11048],simde_mm_xor_si128(c2[12118],simde_mm_xor_si128(c2[15286],simde_mm_xor_si128(c2[7941],simde_mm_xor_si128(c2[1593],simde_mm_xor_si128(c2[12153],simde_mm_xor_si128(c2[3717],simde_mm_xor_si128(c2[12207],simde_mm_xor_si128(c2[588],simde_mm_xor_si128(c2[1637],simde_mm_xor_si128(c2[16476],simde_mm_xor_si128(c2[2739],simde_mm_xor_si128(c2[16475],simde_mm_xor_si128(c2[3844],simde_mm_xor_si128(c2[2804],simde_mm_xor_si128(c2[15459],simde_mm_xor_si128(c2[1780],simde_mm_xor_si128(c2[14468],simde_mm_xor_si128(c2[16577],simde_mm_xor_si128(c2[5013],simde_mm_xor_si128(c2[13452],simde_mm_xor_si128(c2[11337],simde_mm_xor_si128(c2[13509],simde_mm_xor_si128(c2[14566],simde_mm_xor_si128(c2[7161],simde_mm_xor_si128(c2[13541],simde_mm_xor_si128(c2[11429],simde_mm_xor_si128(c2[10375],simde_mm_xor_si128(c2[15697],simde_mm_xor_si128(c2[6203],simde_mm_xor_si128(c2[8307],simde_mm_xor_si128(c2[5195],simde_mm_xor_si128(c2[8367],simde_mm_xor_si128(c2[2033],simde_mm_xor_si128(c2[5244],simde_mm_xor_si128(c2[11589],c2[16860]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 25
|
|
d2[600]=simde_mm_xor_si128(c2[8500],simde_mm_xor_si128(c2[1345],simde_mm_xor_si128(c2[16199],c2[9139])));
|
|
|
|
//row: 26
|
|
d2[624]=simde_mm_xor_si128(c2[7396],simde_mm_xor_si128(c2[1157],simde_mm_xor_si128(c2[12868],c2[9176])));
|
|
|
|
//row: 27
|
|
d2[648]=simde_mm_xor_si128(c2[2172],simde_mm_xor_si128(c2[2412],c2[5670]));
|
|
|
|
//row: 28
|
|
d2[672]=simde_mm_xor_si128(c2[14797],simde_mm_xor_si128(c2[3361],simde_mm_xor_si128(c2[5151],c2[3137])));
|
|
|
|
//row: 29
|
|
d2[696]=simde_mm_xor_si128(c2[2112],simde_mm_xor_si128(c2[11625],simde_mm_xor_si128(c2[12689],simde_mm_xor_si128(c2[2134],simde_mm_xor_si128(c2[3190],simde_mm_xor_si128(c2[2166],simde_mm_xor_si128(c2[9572],simde_mm_xor_si128(c2[5338],simde_mm_xor_si128(c2[6394],simde_mm_xor_si128(c2[12735],simde_mm_xor_si128(c2[1160],simde_mm_xor_si128(c2[11721],simde_mm_xor_si128(c2[7489],simde_mm_xor_si128(c2[148],simde_mm_xor_si128(c2[8601],simde_mm_xor_si128(c2[14932],simde_mm_xor_si128(c2[15988],simde_mm_xor_si128(c2[16054],simde_mm_xor_si128(c2[11809],simde_mm_xor_si128(c2[1270],simde_mm_xor_si128(c2[2326],simde_mm_xor_si128(c2[4480],simde_mm_xor_si128(c2[16093],simde_mm_xor_si128(c2[16100],simde_mm_xor_si128(c2[7698],simde_mm_xor_si128(c2[303],simde_mm_xor_si128(c2[5585],simde_mm_xor_si128(c2[6641],simde_mm_xor_si128(c2[10897],simde_mm_xor_si128(c2[10917],simde_mm_xor_si128(c2[7742],simde_mm_xor_si128(c2[8798],simde_mm_xor_si128(c2[10945],simde_mm_xor_si128(c2[16238],simde_mm_xor_si128(c2[6728],simde_mm_xor_si128(c2[7784],simde_mm_xor_si128(c2[13104],simde_mm_xor_si128(c2[1504],simde_mm_xor_si128(c2[15224],simde_mm_xor_si128(c2[16342],simde_mm_xor_si128(c2[493],simde_mm_xor_si128(c2[2605],simde_mm_xor_si128(c2[3661],simde_mm_xor_si128(c2[13211],simde_mm_xor_si128(c2[6887],simde_mm_xor_si128(c2[16391],simde_mm_xor_si128(c2[528],simde_mm_xor_si128(c2[582],simde_mm_xor_si128(c2[5858],simde_mm_xor_si128(c2[5875],simde_mm_xor_si128(c2[6931],simde_mm_xor_si128(c2[4851],simde_mm_xor_si128(c2[8033],simde_mm_xor_si128(c2[3794],simde_mm_xor_si128(c2[4850],simde_mm_xor_si128(c2[9138],simde_mm_xor_si128(c2[8074],simde_mm_xor_si128(c2[2802],simde_mm_xor_si128(c2[3858],simde_mm_xor_si128(c2[5952],simde_mm_xor_si128(c2[7074],simde_mm_xor_si128(c2[2843],simde_mm_xor_si128(c2[4952],simde_mm_xor_si128(c2[10283],simde_mm_xor_si128(c2[1827],simde_mm_xor_si128(c2[15575],simde_mm_xor_si128(c2[16631],simde_mm_xor_si128(c2[1884],simde_mm_xor_si128(c2[2941],simde_mm_xor_si128(c2[11399],simde_mm_xor_si128(c2[12455],simde_mm_xor_si128(c2[1940],simde_mm_xor_si128(c2[16723],simde_mm_xor_si128(c2[14613],simde_mm_xor_si128(c2[15669],simde_mm_xor_si128(c2[4041],simde_mm_xor_si128(c2[4096],simde_mm_xor_si128(c2[11473],simde_mm_xor_si128(c2[13601],simde_mm_xor_si128(c2[10465],simde_mm_xor_si128(c2[13637],simde_mm_xor_si128(c2[6247],simde_mm_xor_si128(c2[7303],simde_mm_xor_si128(c2[10514],simde_mm_xor_si128(c2[16859],simde_mm_xor_si128(c2[4179],c2[5235]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 30
|
|
d2[720]=simde_mm_xor_si128(c2[14784],simde_mm_xor_si128(c2[7402],simde_mm_xor_si128(c2[7410],simde_mm_xor_si128(c2[8466],simde_mm_xor_si128(c2[14806],simde_mm_xor_si128(c2[15862],simde_mm_xor_si128(c2[15849],simde_mm_xor_si128(c2[14838],simde_mm_xor_si128(c2[4293],simde_mm_xor_si128(c2[5349],simde_mm_xor_si128(c2[1115],simde_mm_xor_si128(c2[2171],simde_mm_xor_si128(c2[13832],simde_mm_xor_si128(c2[7498],simde_mm_xor_si128(c2[2210],simde_mm_xor_si128(c2[3266],simde_mm_xor_si128(c2[12820],simde_mm_xor_si128(c2[4378],simde_mm_xor_si128(c2[10709],simde_mm_xor_si128(c2[11765],simde_mm_xor_si128(c2[11831],simde_mm_xor_si128(c2[6530],simde_mm_xor_si128(c2[7586],simde_mm_xor_si128(c2[13942],simde_mm_xor_si128(c2[14998],simde_mm_xor_si128(c2[257],simde_mm_xor_si128(c2[11870],simde_mm_xor_si128(c2[10821],simde_mm_xor_si128(c2[11877],simde_mm_xor_si128(c2[3475],simde_mm_xor_si128(c2[11919],simde_mm_xor_si128(c2[12975],simde_mm_xor_si128(c2[1362],simde_mm_xor_si128(c2[2418],simde_mm_xor_si128(c2[6674],simde_mm_xor_si128(c2[5638],simde_mm_xor_si128(c2[6694],simde_mm_xor_si128(c2[3519],simde_mm_xor_si128(c2[4575],simde_mm_xor_si128(c2[6722],simde_mm_xor_si128(c2[10959],simde_mm_xor_si128(c2[12015],simde_mm_xor_si128(c2[2505],simde_mm_xor_si128(c2[3561],simde_mm_xor_si128(c2[8881],simde_mm_xor_si128(c2[14176],simde_mm_xor_si128(c2[9945],simde_mm_xor_si128(c2[11001],simde_mm_xor_si128(c2[12119],simde_mm_xor_si128(c2[12109],simde_mm_xor_si128(c2[13165],simde_mm_xor_si128(c2[15277],simde_mm_xor_si128(c2[16333],simde_mm_xor_si128(c2[5774],simde_mm_xor_si128(c2[8988],simde_mm_xor_si128(c2[2640],simde_mm_xor_si128(c2[12144],simde_mm_xor_si128(c2[13200],simde_mm_xor_si128(c2[13254],simde_mm_xor_si128(c2[1635],simde_mm_xor_si128(c2[1652],simde_mm_xor_si128(c2[2708],simde_mm_xor_si128(c2[628],simde_mm_xor_si128(c2[2754],simde_mm_xor_si128(c2[3810],simde_mm_xor_si128(c2[16466],simde_mm_xor_si128(c2[627],simde_mm_xor_si128(c2[4864],simde_mm_xor_si128(c2[4915],simde_mm_xor_si128(c2[2795],simde_mm_xor_si128(c2[3851],simde_mm_xor_si128(c2[15474],simde_mm_xor_si128(c2[16530],simde_mm_xor_si128(c2[2851],simde_mm_xor_si128(c2[15515],simde_mm_xor_si128(c2[16568],simde_mm_xor_si128(c2[729],simde_mm_xor_si128(c2[6060],simde_mm_xor_si128(c2[14499],simde_mm_xor_si128(c2[11328],simde_mm_xor_si128(c2[12384],simde_mm_xor_si128(c2[14556],simde_mm_xor_si128(c2[14557],simde_mm_xor_si128(c2[15613],simde_mm_xor_si128(c2[7152],simde_mm_xor_si128(c2[8208],simde_mm_xor_si128(c2[14612],simde_mm_xor_si128(c2[11444],simde_mm_xor_si128(c2[12500],simde_mm_xor_si128(c2[10390],simde_mm_xor_si128(c2[11446],simde_mm_xor_si128(c2[16768],simde_mm_xor_si128(c2[7250],simde_mm_xor_si128(c2[8322],simde_mm_xor_si128(c2[9378],simde_mm_xor_si128(c2[6242],simde_mm_xor_si128(c2[8358],simde_mm_xor_si128(c2[9414],simde_mm_xor_si128(c2[2024],simde_mm_xor_si128(c2[3080],simde_mm_xor_si128(c2[6291],simde_mm_xor_si128(c2[12636],simde_mm_xor_si128(c2[16851],c2[1012])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 31
|
|
d2[744]=simde_mm_xor_si128(c2[5291],simde_mm_xor_si128(c2[4235],simde_mm_xor_si128(c2[14804],simde_mm_xor_si128(c2[13748],simde_mm_xor_si128(c2[15844],simde_mm_xor_si128(c2[14788],simde_mm_xor_si128(c2[6345],simde_mm_xor_si128(c2[4233],simde_mm_xor_si128(c2[5289],simde_mm_xor_si128(c2[5345],simde_mm_xor_si128(c2[4289],simde_mm_xor_si128(c2[12727],simde_mm_xor_si128(c2[11671],simde_mm_xor_si128(c2[9573],simde_mm_xor_si128(c2[7461],simde_mm_xor_si128(c2[8517],simde_mm_xor_si128(c2[4278],simde_mm_xor_si128(c2[4339],simde_mm_xor_si128(c2[3283],simde_mm_xor_si128(c2[14900],simde_mm_xor_si128(c2[13844],simde_mm_xor_si128(c2[10668],simde_mm_xor_si128(c2[9612],simde_mm_xor_si128(c2[3327],simde_mm_xor_si128(c2[2271],simde_mm_xor_si128(c2[11780],simde_mm_xor_si128(c2[10724],simde_mm_xor_si128(c2[2272],simde_mm_xor_si128(c2[160],simde_mm_xor_si128(c2[1216],simde_mm_xor_si128(c2[2314],simde_mm_xor_si128(c2[1258],simde_mm_xor_si128(c2[14988],simde_mm_xor_si128(c2[13932],simde_mm_xor_si128(c2[5481],simde_mm_xor_si128(c2[3369],simde_mm_xor_si128(c2[4425],simde_mm_xor_si128(c2[7635],simde_mm_xor_si128(c2[6579],simde_mm_xor_si128(c2[2353],simde_mm_xor_si128(c2[1297],simde_mm_xor_si128(c2[2360],simde_mm_xor_si128(c2[1304],simde_mm_xor_si128(c2[10853],simde_mm_xor_si128(c2[9797],simde_mm_xor_si128(c2[3458],simde_mm_xor_si128(c2[2402],simde_mm_xor_si128(c2[9796],simde_mm_xor_si128(c2[7684],simde_mm_xor_si128(c2[8740],simde_mm_xor_si128(c2[14076],simde_mm_xor_si128(c2[13020],simde_mm_xor_si128(c2[14072],simde_mm_xor_si128(c2[13016],simde_mm_xor_si128(c2[11953],simde_mm_xor_si128(c2[9841],simde_mm_xor_si128(c2[10897],simde_mm_xor_si128(c2[7741],simde_mm_xor_si128(c2[14124],simde_mm_xor_si128(c2[13068],simde_mm_xor_si128(c2[2498],simde_mm_xor_si128(c2[1442],simde_mm_xor_si128(c2[10963],simde_mm_xor_si128(c2[8851],simde_mm_xor_si128(c2[9907],simde_mm_xor_si128(c2[16283],simde_mm_xor_si128(c2[15227],simde_mm_xor_si128(c2[4659],simde_mm_xor_si128(c2[3603],simde_mm_xor_si128(c2[1508],simde_mm_xor_si128(c2[452],simde_mm_xor_si128(c2[2602],simde_mm_xor_si128(c2[1546],simde_mm_xor_si128(c2[3648],simde_mm_xor_si128(c2[2592],simde_mm_xor_si128(c2[6816],simde_mm_xor_si128(c2[4704],simde_mm_xor_si128(c2[5760],simde_mm_xor_si128(c2[16390],simde_mm_xor_si128(c2[15334],simde_mm_xor_si128(c2[10042],simde_mm_xor_si128(c2[8986],simde_mm_xor_si128(c2[3707],simde_mm_xor_si128(c2[1595],simde_mm_xor_si128(c2[2651],simde_mm_xor_si128(c2[3761],simde_mm_xor_si128(c2[2705],simde_mm_xor_si128(c2[9037],simde_mm_xor_si128(c2[7981],simde_mm_xor_si128(c2[10086],simde_mm_xor_si128(c2[7974],simde_mm_xor_si128(c2[9030],simde_mm_xor_si128(c2[8030],simde_mm_xor_si128(c2[6974],simde_mm_xor_si128(c2[11188],simde_mm_xor_si128(c2[10132],simde_mm_xor_si128(c2[8029],simde_mm_xor_si128(c2[5917],simde_mm_xor_si128(c2[6973],simde_mm_xor_si128(c2[12293],simde_mm_xor_si128(c2[11237],simde_mm_xor_si128(c2[11253],simde_mm_xor_si128(c2[10197],simde_mm_xor_si128(c2[7013],simde_mm_xor_si128(c2[4901],simde_mm_xor_si128(c2[5957],simde_mm_xor_si128(c2[10229],simde_mm_xor_si128(c2[9173],simde_mm_xor_si128(c2[6022],simde_mm_xor_si128(c2[4966],simde_mm_xor_si128(c2[8131],simde_mm_xor_si128(c2[7075],simde_mm_xor_si128(c2[13462],simde_mm_xor_si128(c2[12406],simde_mm_xor_si128(c2[5006],simde_mm_xor_si128(c2[3950],simde_mm_xor_si128(c2[2891],simde_mm_xor_si128(c2[779],simde_mm_xor_si128(c2[1835],simde_mm_xor_si128(c2[5063],simde_mm_xor_si128(c2[4007],simde_mm_xor_si128(c2[6096],simde_mm_xor_si128(c2[5040],simde_mm_xor_si128(c2[15610],simde_mm_xor_si128(c2[13498],simde_mm_xor_si128(c2[14554],simde_mm_xor_si128(c2[5095],simde_mm_xor_si128(c2[4039],simde_mm_xor_si128(c2[2983],simde_mm_xor_si128(c2[1927],simde_mm_xor_si128(c2[1929],simde_mm_xor_si128(c2[16712],simde_mm_xor_si128(c2[873],simde_mm_xor_si128(c2[7251],simde_mm_xor_si128(c2[6195],simde_mm_xor_si128(c2[14652],simde_mm_xor_si128(c2[13596],simde_mm_xor_si128(c2[16756],simde_mm_xor_si128(c2[15700],simde_mm_xor_si128(c2[13644],simde_mm_xor_si128(c2[12588],simde_mm_xor_si128(c2[16816],simde_mm_xor_si128(c2[15760],simde_mm_xor_si128(c2[10482],simde_mm_xor_si128(c2[8370],simde_mm_xor_si128(c2[9426],simde_mm_xor_si128(c2[13693],simde_mm_xor_si128(c2[12637],simde_mm_xor_si128(c2[3143],simde_mm_xor_si128(c2[2087],simde_mm_xor_si128(c2[8414],simde_mm_xor_si128(c2[6302],c2[7358]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[768]=simde_mm_xor_si128(c2[3181],simde_mm_xor_si128(c2[12694],simde_mm_xor_si128(c2[12678],simde_mm_xor_si128(c2[13734],simde_mm_xor_si128(c2[3179],simde_mm_xor_si128(c2[4235],simde_mm_xor_si128(c2[6342],simde_mm_xor_si128(c2[3235],simde_mm_xor_si128(c2[9561],simde_mm_xor_si128(c2[10617],simde_mm_xor_si128(c2[6407],simde_mm_xor_si128(c2[7463],simde_mm_xor_si128(c2[2229],simde_mm_xor_si128(c2[12790],simde_mm_xor_si128(c2[7502],simde_mm_xor_si128(c2[8558],simde_mm_xor_si128(c2[1217],simde_mm_xor_si128(c2[9670],simde_mm_xor_si128(c2[16001],simde_mm_xor_si128(c2[162],simde_mm_xor_si128(c2[204],simde_mm_xor_si128(c2[11822],simde_mm_xor_si128(c2[12878],simde_mm_xor_si128(c2[2315],simde_mm_xor_si128(c2[3371],simde_mm_xor_si128(c2[5525],simde_mm_xor_si128(c2[243],simde_mm_xor_si128(c2[16089],simde_mm_xor_si128(c2[250],simde_mm_xor_si128(c2[8743],simde_mm_xor_si128(c2[292],simde_mm_xor_si128(c2[1348],simde_mm_xor_si128(c2[6630],simde_mm_xor_si128(c2[7686],simde_mm_xor_si128(c2[11966],simde_mm_xor_si128(c2[10906],simde_mm_xor_si128(c2[11962],simde_mm_xor_si128(c2[8787],simde_mm_xor_si128(c2[9843],simde_mm_xor_si128(c2[12014],simde_mm_xor_si128(c2[16227],simde_mm_xor_si128(c2[388],simde_mm_xor_si128(c2[7797],simde_mm_xor_si128(c2[8853],simde_mm_xor_si128(c2[14173],simde_mm_xor_si128(c2[2549],simde_mm_xor_si128(c2[15237],simde_mm_xor_si128(c2[16293],simde_mm_xor_si128(c2[492],simde_mm_xor_si128(c2[482],simde_mm_xor_si128(c2[1538],simde_mm_xor_si128(c2[3650],simde_mm_xor_si128(c2[4706],simde_mm_xor_si128(c2[14256],simde_mm_xor_si128(c2[7932],simde_mm_xor_si128(c2[541],simde_mm_xor_si128(c2[1597],simde_mm_xor_si128(c2[1651],simde_mm_xor_si128(c2[6927],simde_mm_xor_si128(c2[6920],simde_mm_xor_si128(c2[7976],simde_mm_xor_si128(c2[10092],simde_mm_xor_si128(c2[5920],simde_mm_xor_si128(c2[8022],simde_mm_xor_si128(c2[9078],simde_mm_xor_si128(c2[4863],simde_mm_xor_si128(c2[5919],simde_mm_xor_si128(c2[10183],simde_mm_xor_si128(c2[8087],simde_mm_xor_si128(c2[9143],simde_mm_xor_si128(c2[3847],simde_mm_xor_si128(c2[4903],simde_mm_xor_si128(c2[16522],simde_mm_xor_si128(c2[8119],simde_mm_xor_si128(c2[3888],simde_mm_xor_si128(c2[4965],simde_mm_xor_si128(c2[6021],simde_mm_xor_si128(c2[11328],simde_mm_xor_si128(c2[2896],simde_mm_xor_si128(c2[16620],simde_mm_xor_si128(c2[781],simde_mm_xor_si128(c2[2929],simde_mm_xor_si128(c2[2930],simde_mm_xor_si128(c2[3986],simde_mm_xor_si128(c2[12444],simde_mm_xor_si128(c2[13500],simde_mm_xor_si128(c2[2985],simde_mm_xor_si128(c2[16712],simde_mm_xor_si128(c2[873],simde_mm_xor_si128(c2[15658],simde_mm_xor_si128(c2[16714],simde_mm_xor_si128(c2[5141],simde_mm_xor_si128(c2[12542],simde_mm_xor_si128(c2[13590],simde_mm_xor_si128(c2[14646],simde_mm_xor_si128(c2[11534],simde_mm_xor_si128(c2[13650],simde_mm_xor_si128(c2[14706],simde_mm_xor_si128(c2[7316],simde_mm_xor_si128(c2[8372],simde_mm_xor_si128(c2[11583],simde_mm_xor_si128(c2[1009],simde_mm_xor_si128(c2[5248],c2[6304])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[792]=simde_mm_xor_si128(c2[3236],simde_mm_xor_si128(c2[8544],simde_mm_xor_si128(c2[10054],c2[10518])));
|
|
|
|
//row: 34
|
|
d2[816]=simde_mm_xor_si128(c2[6350],simde_mm_xor_si128(c2[4569],simde_mm_xor_si128(c2[11292],c2[9283])));
|
|
|
|
//row: 35
|
|
d2[840]=simde_mm_xor_si128(c2[13739],simde_mm_xor_si128(c2[6357],simde_mm_xor_si128(c2[7397],simde_mm_xor_si128(c2[14793],simde_mm_xor_si128(c2[13793],simde_mm_xor_si128(c2[4280],simde_mm_xor_si128(c2[1126],simde_mm_xor_si128(c2[68],simde_mm_xor_si128(c2[12787],simde_mm_xor_si128(c2[6453],simde_mm_xor_si128(c2[2221],simde_mm_xor_si128(c2[11775],simde_mm_xor_si128(c2[3333],simde_mm_xor_si128(c2[10720],simde_mm_xor_si128(c2[10762],simde_mm_xor_si128(c2[6541],simde_mm_xor_si128(c2[13929],simde_mm_xor_si128(c2[16083],simde_mm_xor_si128(c2[10801],simde_mm_xor_si128(c2[10808],simde_mm_xor_si128(c2[2406],simde_mm_xor_si128(c2[11906],simde_mm_xor_si128(c2[1349],simde_mm_xor_si128(c2[16148],simde_mm_xor_si128(c2[5629],simde_mm_xor_si128(c2[5625],simde_mm_xor_si128(c2[3506],simde_mm_xor_si128(c2[5677],simde_mm_xor_si128(c2[10946],simde_mm_xor_si128(c2[2516],simde_mm_xor_si128(c2[7836],simde_mm_xor_si128(c2[13107],simde_mm_xor_si128(c2[9956],simde_mm_xor_si128(c2[11050],simde_mm_xor_si128(c2[12096],simde_mm_xor_si128(c2[15264],simde_mm_xor_si128(c2[7943],simde_mm_xor_si128(c2[1595],simde_mm_xor_si128(c2[12155],simde_mm_xor_si128(c2[12209],simde_mm_xor_si128(c2[590],simde_mm_xor_si128(c2[1639],simde_mm_xor_si128(c2[2688],simde_mm_xor_si128(c2[16478],simde_mm_xor_si128(c2[2741],simde_mm_xor_si128(c2[16477],simde_mm_xor_si128(c2[3846],simde_mm_xor_si128(c2[2806],simde_mm_xor_si128(c2[15461],simde_mm_xor_si128(c2[1782],simde_mm_xor_si128(c2[14470],simde_mm_xor_si128(c2[16579],simde_mm_xor_si128(c2[5015],simde_mm_xor_si128(c2[13454],simde_mm_xor_si128(c2[11339],simde_mm_xor_si128(c2[13511],simde_mm_xor_si128(c2[14544],simde_mm_xor_si128(c2[7163],simde_mm_xor_si128(c2[13543],simde_mm_xor_si128(c2[11431],simde_mm_xor_si128(c2[10377],simde_mm_xor_si128(c2[15699],simde_mm_xor_si128(c2[6205],simde_mm_xor_si128(c2[8309],simde_mm_xor_si128(c2[5197],simde_mm_xor_si128(c2[8369],simde_mm_xor_si128(c2[2035],simde_mm_xor_si128(c2[5246],simde_mm_xor_si128(c2[11591],c2[16862])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[864]=simde_mm_xor_si128(c2[2125],simde_mm_xor_si128(c2[10195],simde_mm_xor_si128(c2[10242],c2[6145])));
|
|
|
|
//row: 37
|
|
d2[888]=simde_mm_xor_si128(c2[6338],simde_mm_xor_si128(c2[7394],simde_mm_xor_si128(c2[12],simde_mm_xor_si128(c2[1076],simde_mm_xor_si128(c2[8448],simde_mm_xor_si128(c2[6392],simde_mm_xor_si128(c2[7448],simde_mm_xor_si128(c2[14854],simde_mm_xor_si128(c2[11676],simde_mm_xor_si128(c2[13792],simde_mm_xor_si128(c2[5386],simde_mm_xor_si128(c2[6442],simde_mm_xor_si128(c2[108],simde_mm_xor_si128(c2[12771],simde_mm_xor_si128(c2[4374],simde_mm_xor_si128(c2[5430],simde_mm_xor_si128(c2[13883],simde_mm_xor_si128(c2[4375],simde_mm_xor_si128(c2[4417],simde_mm_xor_si128(c2[196],simde_mm_xor_si128(c2[7584],simde_mm_xor_si128(c2[8706],simde_mm_xor_si128(c2[9762],simde_mm_xor_si128(c2[4480],simde_mm_xor_si128(c2[4487],simde_mm_xor_si128(c2[11924],simde_mm_xor_si128(c2[12980],simde_mm_xor_si128(c2[5585],simde_mm_xor_si128(c2[11923],simde_mm_xor_si128(c2[16179],simde_mm_xor_si128(c2[16199],simde_mm_xor_si128(c2[14080],simde_mm_xor_si128(c2[16227],simde_mm_xor_si128(c2[4625],simde_mm_xor_si128(c2[13066],simde_mm_xor_si128(c2[435],simde_mm_xor_si128(c2[1491],simde_mm_xor_si128(c2[6786],simde_mm_xor_si128(c2[3611],simde_mm_xor_si128(c2[3649],simde_mm_xor_si128(c2[4705],simde_mm_xor_si128(c2[5775],simde_mm_xor_si128(c2[8943],simde_mm_xor_si128(c2[542],simde_mm_xor_si128(c2[1598],simde_mm_xor_si128(c2[12145],simde_mm_xor_si128(c2[5810],simde_mm_xor_si128(c2[4808],simde_mm_xor_si128(c2[5864],simde_mm_xor_si128(c2[11140],simde_mm_xor_si128(c2[12213],simde_mm_xor_si128(c2[9077],simde_mm_xor_si128(c2[10133],simde_mm_xor_si128(c2[13315],simde_mm_xor_si128(c2[10132],simde_mm_xor_si128(c2[2741],simde_mm_xor_si128(c2[14420],simde_mm_xor_si128(c2[13356],simde_mm_xor_si128(c2[9140],simde_mm_xor_si128(c2[11300],simde_mm_xor_si128(c2[12356],simde_mm_xor_si128(c2[8125],simde_mm_xor_si128(c2[10234],simde_mm_xor_si128(c2[14509],simde_mm_xor_si128(c2[15565],simde_mm_xor_si128(c2[7109],simde_mm_xor_si128(c2[4994],simde_mm_xor_si128(c2[7166],simde_mm_xor_si128(c2[8223],simde_mm_xor_si128(c2[818],simde_mm_xor_si128(c2[6166],simde_mm_xor_si128(c2[7222],simde_mm_xor_si128(c2[5110],simde_mm_xor_si128(c2[4032],simde_mm_xor_si128(c2[8322],simde_mm_xor_si128(c2[9378],simde_mm_xor_si128(c2[16755],simde_mm_xor_si128(c2[1988],simde_mm_xor_si128(c2[14691],simde_mm_xor_si128(c2[15747],simde_mm_xor_si128(c2[2024],simde_mm_xor_si128(c2[12585],simde_mm_xor_si128(c2[14740],simde_mm_xor_si128(c2[15796],simde_mm_xor_si128(c2[5246],c2[10517])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[912]=simde_mm_xor_si128(c2[9515],simde_mm_xor_si128(c2[1499],simde_mm_xor_si128(c2[1554],c2[6925])));
|
|
|
|
//row: 39
|
|
d2[936]=simde_mm_xor_si128(c2[2176],simde_mm_xor_si128(c2[13877],simde_mm_xor_si128(c2[10917],c2[10434])));
|
|
|
|
//row: 40
|
|
d2[960]=simde_mm_xor_si128(c2[15850],simde_mm_xor_si128(c2[5666],c2[9283]));
|
|
|
|
//row: 41
|
|
d2[984]=simde_mm_xor_si128(c2[4275],simde_mm_xor_si128(c2[10723],simde_mm_xor_si128(c2[12056],c2[882])));
|
|
|
|
//row: 42
|
|
d2[1008]=simde_mm_xor_si128(c2[14792],simde_mm_xor_si128(c2[7410],simde_mm_xor_si128(c2[7394],simde_mm_xor_si128(c2[8450],simde_mm_xor_si128(c2[14790],simde_mm_xor_si128(c2[15846],simde_mm_xor_si128(c2[1063],simde_mm_xor_si128(c2[14846],simde_mm_xor_si128(c2[4277],simde_mm_xor_si128(c2[5333],simde_mm_xor_si128(c2[1123],simde_mm_xor_si128(c2[2179],simde_mm_xor_si128(c2[13840],simde_mm_xor_si128(c2[7506],simde_mm_xor_si128(c2[2218],simde_mm_xor_si128(c2[3274],simde_mm_xor_si128(c2[12828],simde_mm_xor_si128(c2[4386],simde_mm_xor_si128(c2[10717],simde_mm_xor_si128(c2[11773],simde_mm_xor_si128(c2[11815],simde_mm_xor_si128(c2[6538],simde_mm_xor_si128(c2[7594],simde_mm_xor_si128(c2[13926],simde_mm_xor_si128(c2[14982],simde_mm_xor_si128(c2[14976],simde_mm_xor_si128(c2[241],simde_mm_xor_si128(c2[11878],simde_mm_xor_si128(c2[10805],simde_mm_xor_si128(c2[11861],simde_mm_xor_si128(c2[3459],simde_mm_xor_si128(c2[11927],simde_mm_xor_si128(c2[12983],simde_mm_xor_si128(c2[1346],simde_mm_xor_si128(c2[2402],simde_mm_xor_si128(c2[6682],simde_mm_xor_si128(c2[5622],simde_mm_xor_si128(c2[6678],simde_mm_xor_si128(c2[3527],simde_mm_xor_si128(c2[4583],simde_mm_xor_si128(c2[6730],simde_mm_xor_si128(c2[10967],simde_mm_xor_si128(c2[12023],simde_mm_xor_si128(c2[2513],simde_mm_xor_si128(c2[3569],simde_mm_xor_si128(c2[8889],simde_mm_xor_si128(c2[14160],simde_mm_xor_si128(c2[9953],simde_mm_xor_si128(c2[11009],simde_mm_xor_si128(c2[12103],simde_mm_xor_si128(c2[12117],simde_mm_xor_si128(c2[13173],simde_mm_xor_si128(c2[15285],simde_mm_xor_si128(c2[16341],simde_mm_xor_si128(c2[8996],simde_mm_xor_si128(c2[2648],simde_mm_xor_si128(c2[12152],simde_mm_xor_si128(c2[13208],simde_mm_xor_si128(c2[13262],simde_mm_xor_si128(c2[1643],simde_mm_xor_si128(c2[1636],simde_mm_xor_si128(c2[2692],simde_mm_xor_si128(c2[636],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[3794],simde_mm_xor_si128(c2[16474],simde_mm_xor_si128(c2[635],simde_mm_xor_si128(c2[4899],simde_mm_xor_si128(c2[2803],simde_mm_xor_si128(c2[3859],simde_mm_xor_si128(c2[15458],simde_mm_xor_si128(c2[16514],simde_mm_xor_si128(c2[2835],simde_mm_xor_si128(c2[15523],simde_mm_xor_si128(c2[16576],simde_mm_xor_si128(c2[737],simde_mm_xor_si128(c2[6068],simde_mm_xor_si128(c2[14507],simde_mm_xor_si128(c2[11336],simde_mm_xor_si128(c2[12392],simde_mm_xor_si128(c2[14564],simde_mm_xor_si128(c2[14565],simde_mm_xor_si128(c2[15621],simde_mm_xor_si128(c2[7160],simde_mm_xor_si128(c2[8216],simde_mm_xor_si128(c2[14596],simde_mm_xor_si128(c2[11428],simde_mm_xor_si128(c2[12484],simde_mm_xor_si128(c2[10374],simde_mm_xor_si128(c2[11430],simde_mm_xor_si128(c2[16752],simde_mm_xor_si128(c2[7258],simde_mm_xor_si128(c2[8306],simde_mm_xor_si128(c2[9362],simde_mm_xor_si128(c2[6250],simde_mm_xor_si128(c2[8366],simde_mm_xor_si128(c2[9422],simde_mm_xor_si128(c2[2032],simde_mm_xor_si128(c2[3088],simde_mm_xor_si128(c2[6299],simde_mm_xor_si128(c2[12644],simde_mm_xor_si128(c2[16859],c2[1020]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 43
|
|
d2[1032]=simde_mm_xor_si128(c2[12677],simde_mm_xor_si128(c2[5295],simde_mm_xor_si128(c2[6359],simde_mm_xor_si128(c2[12675],simde_mm_xor_si128(c2[13731],simde_mm_xor_si128(c2[12731],simde_mm_xor_si128(c2[3218],simde_mm_xor_si128(c2[15903],simde_mm_xor_si128(c2[64],simde_mm_xor_si128(c2[1111],simde_mm_xor_si128(c2[11725],simde_mm_xor_si128(c2[5391],simde_mm_xor_si128(c2[1159],simde_mm_xor_si128(c2[10713],simde_mm_xor_si128(c2[2271],simde_mm_xor_si128(c2[8602],simde_mm_xor_si128(c2[9658],simde_mm_xor_si128(c2[9700],simde_mm_xor_si128(c2[5479],simde_mm_xor_si128(c2[11811],simde_mm_xor_si128(c2[12867],simde_mm_xor_si128(c2[15045],simde_mm_xor_si128(c2[9763],simde_mm_xor_si128(c2[9746],simde_mm_xor_si128(c2[1344],simde_mm_xor_si128(c2[10868],simde_mm_xor_si128(c2[16150],simde_mm_xor_si128(c2[311],simde_mm_xor_si128(c2[4567],simde_mm_xor_si128(c2[4563],simde_mm_xor_si128(c2[1412],simde_mm_xor_si128(c2[2468],simde_mm_xor_si128(c2[4615],simde_mm_xor_si128(c2[9908],simde_mm_xor_si128(c2[398],simde_mm_xor_si128(c2[1454],simde_mm_xor_si128(c2[6774],simde_mm_xor_si128(c2[12069],simde_mm_xor_si128(c2[8894],simde_mm_xor_si128(c2[9988],simde_mm_xor_si128(c2[11058],simde_mm_xor_si128(c2[13170],simde_mm_xor_si128(c2[14226],simde_mm_xor_si128(c2[6881],simde_mm_xor_si128(c2[533],simde_mm_xor_si128(c2[10037],simde_mm_xor_si128(c2[11093],simde_mm_xor_si128(c2[11147],simde_mm_xor_si128(c2[16423],simde_mm_xor_si128(c2[16416],simde_mm_xor_si128(c2[577],simde_mm_xor_si128(c2[15416],simde_mm_xor_si128(c2[1703],simde_mm_xor_si128(c2[14359],simde_mm_xor_si128(c2[15415],simde_mm_xor_si128(c2[2784],simde_mm_xor_si128(c2[1744],simde_mm_xor_si128(c2[13367],simde_mm_xor_si128(c2[14423],simde_mm_xor_si128(c2[720],simde_mm_xor_si128(c2[13408],simde_mm_xor_si128(c2[15517],simde_mm_xor_si128(c2[3953],simde_mm_xor_si128(c2[12392],simde_mm_xor_si128(c2[9221],simde_mm_xor_si128(c2[10277],simde_mm_xor_si128(c2[5000],simde_mm_xor_si128(c2[12449],simde_mm_xor_si128(c2[13506],simde_mm_xor_si128(c2[5045],simde_mm_xor_si128(c2[6101],simde_mm_xor_si128(c2[12481],simde_mm_xor_si128(c2[10369],simde_mm_xor_si128(c2[8259],simde_mm_xor_si128(c2[9315],simde_mm_xor_si128(c2[2983],simde_mm_xor_si128(c2[14661],simde_mm_xor_si128(c2[5143],simde_mm_xor_si128(c2[7271],simde_mm_xor_si128(c2[4135],simde_mm_xor_si128(c2[7307],simde_mm_xor_si128(c2[16812],simde_mm_xor_si128(c2[973],simde_mm_xor_si128(c2[4184],simde_mm_xor_si128(c2[10529],simde_mm_xor_si128(c2[14744],c2[15800]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 44
|
|
d2[1056]=simde_mm_xor_si128(c2[5292],simde_mm_xor_si128(c2[14805],simde_mm_xor_si128(c2[15845],simde_mm_xor_si128(c2[6346],simde_mm_xor_si128(c2[5],simde_mm_xor_si128(c2[5346],simde_mm_xor_si128(c2[12728],simde_mm_xor_si128(c2[9574],simde_mm_xor_si128(c2[4340],simde_mm_xor_si128(c2[14901],simde_mm_xor_si128(c2[10669],simde_mm_xor_si128(c2[3328],simde_mm_xor_si128(c2[11781],simde_mm_xor_si128(c2[2273],simde_mm_xor_si128(c2[2315],simde_mm_xor_si128(c2[14989],simde_mm_xor_si128(c2[5482],simde_mm_xor_si128(c2[7636],simde_mm_xor_si128(c2[2354],simde_mm_xor_si128(c2[2361],simde_mm_xor_si128(c2[10854],simde_mm_xor_si128(c2[3459],simde_mm_xor_si128(c2[9797],simde_mm_xor_si128(c2[14077],simde_mm_xor_si128(c2[14073],simde_mm_xor_si128(c2[11954],simde_mm_xor_si128(c2[15124],simde_mm_xor_si128(c2[14125],simde_mm_xor_si128(c2[2499],simde_mm_xor_si128(c2[10964],simde_mm_xor_si128(c2[16284],simde_mm_xor_si128(c2[4660],simde_mm_xor_si128(c2[1509],simde_mm_xor_si128(c2[3610],simde_mm_xor_si128(c2[2603],simde_mm_xor_si128(c2[3649],simde_mm_xor_si128(c2[6817],simde_mm_xor_si128(c2[16391],simde_mm_xor_si128(c2[10043],simde_mm_xor_si128(c2[3708],simde_mm_xor_si128(c2[3762],simde_mm_xor_si128(c2[9038],simde_mm_xor_si128(c2[10087],simde_mm_xor_si128(c2[8031],simde_mm_xor_si128(c2[11189],simde_mm_xor_si128(c2[8030],simde_mm_xor_si128(c2[12294],simde_mm_xor_si128(c2[11254],simde_mm_xor_si128(c2[7014],simde_mm_xor_si128(c2[10230],simde_mm_xor_si128(c2[6023],simde_mm_xor_si128(c2[8132],simde_mm_xor_si128(c2[13463],simde_mm_xor_si128(c2[5007],simde_mm_xor_si128(c2[2892],simde_mm_xor_si128(c2[5040],simde_mm_xor_si128(c2[6097],simde_mm_xor_si128(c2[15611],simde_mm_xor_si128(c2[5096],simde_mm_xor_si128(c2[2984],simde_mm_xor_si128(c2[1930],simde_mm_xor_si128(c2[7252],simde_mm_xor_si128(c2[14653],simde_mm_xor_si128(c2[16757],simde_mm_xor_si128(c2[13645],simde_mm_xor_si128(c2[16817],simde_mm_xor_si128(c2[10483],simde_mm_xor_si128(c2[13694],simde_mm_xor_si128(c2[3120],c2[8415])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 45
|
|
d2[1080]=simde_mm_xor_si128(c2[7448],simde_mm_xor_si128(c2[5577],c2[16320]));
|
|
}
|
|
}
|
|
#endif
|