Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators. - Changes: - use SIMDE consistently - adaptations of LDPC decoder generator for ARMv8 performance - SIMDe modifications of Intel CRC to allow for aarch64 build. optimizations for 128-bit to improve performance of LDPC encode/decode on aarch64 (Neoverse 1) - added BG2 files for 128-bit ldpc encoder (aarch64) - testing on Xeon - testing on x86 - minor changes to build/run on x86 - change in crc.h after returning to aarch64 - removed some warning in ldpc decoder generator for x86_64 - char - Delete irrelevant constants - Correctly declare variables - Define stdbool for all architectures - Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE - Remove commented code - Fix CMakeLists.txt - Include SIMDE avx2 functions in tools_defs.h
140 lines
38 KiB
C
140 lines
38 KiB
C
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=8, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc8_byte(uint8_t *c,uint8_t *d) {
|
|
simde__m64i *csimd=(simde__m64i *)c,*dsimd=(simde__m64i *)d;
|
|
|
|
simde__m64i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<1; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],c2[102]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[1]=simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],c2[102]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[2]=simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],c2[102]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[3]=simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],c2[102]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[4]=simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],c2[90]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[5]=simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],c2[90]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[6]=simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[78],c2[66]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[7]=simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],c2[54]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[8]=simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[9]=simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[66],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[10]=simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[12],c2[74])));
|
|
|
|
//row: 11
|
|
d2[11]=simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[102],c2[42])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[12]=simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[13]=simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[90],c2[78])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[14]=simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[42],c2[102])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[15]=simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[90],c2[66]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[16]=simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[30],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[17]=simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[30],c2[102])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[18]=simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],c2[38]));
|
|
|
|
//row: 19
|
|
d2[19]=simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],c2[18]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[20]=simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[18],c2[66]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[21]=simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[42],c2[30]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[22]=simde_mm_xor_si64(c2[74],c2[88]);
|
|
|
|
//row: 23
|
|
d2[23]=simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[42],c2[82]));
|
|
|
|
//row: 24
|
|
d2[24]=simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[40],c2[18]));
|
|
|
|
//row: 25
|
|
d2[25]=simde_mm_xor_si64(c2[48],c2[58]);
|
|
|
|
//row: 26
|
|
d2[26]=simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[102],c2[30])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[27]=simde_mm_xor_si64(c2[0],c2[96]);
|
|
|
|
//row: 28
|
|
d2[28]=simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[64],c2[94]));
|
|
|
|
//row: 29
|
|
d2[29]=simde_mm_xor_si64(c2[24],c2[56]);
|
|
|
|
//row: 30
|
|
d2[30]=simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[26],c2[66])));
|
|
|
|
//row: 31
|
|
d2[31]=simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[30],c2[18])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[32]=simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[33]=simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[90],c2[42]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[34]=simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[66],c2[54]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[35]=simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],c2[90]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[36]=simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[76],c2[38]));
|
|
|
|
//row: 37
|
|
d2[37]=simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[30],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[46],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[42],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[38]=simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[39]=simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[82],simde_mm_xor_si64(c2[22],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[98],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[78],c2[30]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[40]=simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[0],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[2],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[52],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[4],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[78],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[92],simde_mm_xor_si64(c2[56],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[80],simde_mm_xor_si64(c2[8],simde_mm_xor_si64(c2[68],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[58],simde_mm_xor_si64(c2[10],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[94],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[60],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[24],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[12],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[74],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[40],simde_mm_xor_si64(c2[64],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[102],simde_mm_xor_si64(c2[66],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[42],c2[102]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[41]=simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[72],simde_mm_xor_si64(c2[38],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[86],simde_mm_xor_si64(c2[62],simde_mm_xor_si64(c2[14],simde_mm_xor_si64(c2[28],simde_mm_xor_si64(c2[16],simde_mm_xor_si64(c2[88],simde_mm_xor_si64(c2[6],simde_mm_xor_si64(c2[90],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[18],simde_mm_xor_si64(c2[32],simde_mm_xor_si64(c2[20],simde_mm_xor_si64(c2[44],simde_mm_xor_si64(c2[34],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[70],simde_mm_xor_si64(c2[48],simde_mm_xor_si64(c2[36],simde_mm_xor_si64(c2[96],simde_mm_xor_si64(c2[84],simde_mm_xor_si64(c2[26],simde_mm_xor_si64(c2[50],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[76],simde_mm_xor_si64(c2[100],simde_mm_xor_si64(c2[54],simde_mm_xor_si64(c2[42],simde_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|