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
142 lines
47 KiB
C
142 lines
47 KiB
C
#ifdef __AVX2__
|
|
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=384, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc384_byte(uint8_t *c,uint8_t *d) {
|
|
simde__m256i *csimd=(simde__m256i *)c,*dsimd=(simde__m256i *)d;
|
|
|
|
simde__m256i *c2,*d2;
|
|
|
|
int i2;
|
|
for (i2=0; i2<12; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm256_xor_si256(c2[3125],simde_mm256_xor_si256(c2[6240],simde_mm256_xor_si256(c2[5760],simde_mm256_xor_si256(c2[27],simde_mm256_xor_si256(c2[4107],simde_mm256_xor_si256(c2[1708],simde_mm256_xor_si256(c2[1253],simde_mm256_xor_si256(c2[3413],simde_mm256_xor_si256(c2[314],simde_mm256_xor_si256(c2[793],simde_mm256_xor_si256(c2[4875],simde_mm256_xor_si256(c2[3697],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[3939],simde_mm256_xor_si256(c2[6602],simde_mm256_xor_si256(c2[1802],simde_mm256_xor_si256(c2[1586],simde_mm256_xor_si256(c2[7344],simde_mm256_xor_si256(c2[6387],simde_mm256_xor_si256(c2[6413],simde_mm256_xor_si256(c2[5211],simde_mm256_xor_si256(c2[5957],simde_mm256_xor_si256(c2[4275],simde_mm256_xor_si256(c2[6672],simde_mm256_xor_si256(c2[2861],simde_mm256_xor_si256(c2[696],c2[6221]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[12]=simde_mm256_xor_si256(c2[3365],simde_mm256_xor_si256(c2[3125],simde_mm256_xor_si256(c2[6240],simde_mm256_xor_si256(c2[5760],simde_mm256_xor_si256(c2[267],simde_mm256_xor_si256(c2[27],simde_mm256_xor_si256(c2[4107],simde_mm256_xor_si256(c2[1708],simde_mm256_xor_si256(c2[1493],simde_mm256_xor_si256(c2[1253],simde_mm256_xor_si256(c2[3413],simde_mm256_xor_si256(c2[554],simde_mm256_xor_si256(c2[314],simde_mm256_xor_si256(c2[793],simde_mm256_xor_si256(c2[4875],simde_mm256_xor_si256(c2[3697],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[3939],simde_mm256_xor_si256(c2[6602],simde_mm256_xor_si256(c2[1802],simde_mm256_xor_si256(c2[1826],simde_mm256_xor_si256(c2[1586],simde_mm256_xor_si256(c2[7344],simde_mm256_xor_si256(c2[6387],simde_mm256_xor_si256(c2[6413],simde_mm256_xor_si256(c2[5211],simde_mm256_xor_si256(c2[5957],simde_mm256_xor_si256(c2[4275],simde_mm256_xor_si256(c2[6672],simde_mm256_xor_si256(c2[3101],simde_mm256_xor_si256(c2[2861],simde_mm256_xor_si256(c2[696],c2[6221]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[24]=simde_mm256_xor_si256(c2[3365],simde_mm256_xor_si256(c2[3125],simde_mm256_xor_si256(c2[6480],simde_mm256_xor_si256(c2[6240],simde_mm256_xor_si256(c2[5760],simde_mm256_xor_si256(c2[267],simde_mm256_xor_si256(c2[27],simde_mm256_xor_si256(c2[4107],simde_mm256_xor_si256(c2[1708],simde_mm256_xor_si256(c2[1493],simde_mm256_xor_si256(c2[1253],simde_mm256_xor_si256(c2[3413],simde_mm256_xor_si256(c2[554],simde_mm256_xor_si256(c2[314],simde_mm256_xor_si256(c2[1033],simde_mm256_xor_si256(c2[793],simde_mm256_xor_si256(c2[4875],simde_mm256_xor_si256(c2[3937],simde_mm256_xor_si256(c2[3697],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[3939],simde_mm256_xor_si256(c2[6842],simde_mm256_xor_si256(c2[6602],simde_mm256_xor_si256(c2[1802],simde_mm256_xor_si256(c2[1826],simde_mm256_xor_si256(c2[1586],simde_mm256_xor_si256(c2[7584],simde_mm256_xor_si256(c2[7344],simde_mm256_xor_si256(c2[6387],simde_mm256_xor_si256(c2[6653],simde_mm256_xor_si256(c2[6413],simde_mm256_xor_si256(c2[5211],simde_mm256_xor_si256(c2[6197],simde_mm256_xor_si256(c2[5957],simde_mm256_xor_si256(c2[4275],simde_mm256_xor_si256(c2[6672],simde_mm256_xor_si256(c2[3101],simde_mm256_xor_si256(c2[2861],simde_mm256_xor_si256(c2[936],simde_mm256_xor_si256(c2[696],c2[6221]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[36]=simde_mm256_xor_si256(c2[3125],simde_mm256_xor_si256(c2[6240],simde_mm256_xor_si256(c2[5760],simde_mm256_xor_si256(c2[27],simde_mm256_xor_si256(c2[4107],simde_mm256_xor_si256(c2[1948],simde_mm256_xor_si256(c2[1708],simde_mm256_xor_si256(c2[1253],simde_mm256_xor_si256(c2[3653],simde_mm256_xor_si256(c2[3413],simde_mm256_xor_si256(c2[314],simde_mm256_xor_si256(c2[793],simde_mm256_xor_si256(c2[4875],simde_mm256_xor_si256(c2[3697],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[4179],simde_mm256_xor_si256(c2[3939],simde_mm256_xor_si256(c2[6602],simde_mm256_xor_si256(c2[2042],simde_mm256_xor_si256(c2[1802],simde_mm256_xor_si256(c2[1586],simde_mm256_xor_si256(c2[7344],simde_mm256_xor_si256(c2[6627],simde_mm256_xor_si256(c2[6387],simde_mm256_xor_si256(c2[6413],simde_mm256_xor_si256(c2[5451],simde_mm256_xor_si256(c2[5211],simde_mm256_xor_si256(c2[5957],simde_mm256_xor_si256(c2[4275],simde_mm256_xor_si256(c2[6912],simde_mm256_xor_si256(c2[6672],simde_mm256_xor_si256(c2[2861],simde_mm256_xor_si256(c2[696],simde_mm256_xor_si256(c2[6461],c2[6221]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[48]=simde_mm256_xor_si256(c2[2646],simde_mm256_xor_si256(c2[2406],simde_mm256_xor_si256(c2[5521],simde_mm256_xor_si256(c2[5041],simde_mm256_xor_si256(c2[1922],simde_mm256_xor_si256(c2[7227],simde_mm256_xor_si256(c2[6987],simde_mm256_xor_si256(c2[3388],simde_mm256_xor_si256(c2[989],simde_mm256_xor_si256(c2[2426],simde_mm256_xor_si256(c2[774],simde_mm256_xor_si256(c2[534],simde_mm256_xor_si256(c2[2694],simde_mm256_xor_si256(c2[7514],simde_mm256_xor_si256(c2[7274],simde_mm256_xor_si256(c2[74],simde_mm256_xor_si256(c2[4156],simde_mm256_xor_si256(c2[2978],simde_mm256_xor_si256(c2[2500],simde_mm256_xor_si256(c2[3220],simde_mm256_xor_si256(c2[5883],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[1107],simde_mm256_xor_si256(c2[867],simde_mm256_xor_si256(c2[6625],simde_mm256_xor_si256(c2[5668],simde_mm256_xor_si256(c2[5694],simde_mm256_xor_si256(c2[4492],simde_mm256_xor_si256(c2[5238],simde_mm256_xor_si256(c2[3556],simde_mm256_xor_si256(c2[5953],simde_mm256_xor_si256(c2[2382],simde_mm256_xor_si256(c2[2142],simde_mm256_xor_si256(c2[7656],c2[5502]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[60]=simde_mm256_xor_si256(c2[7206],simde_mm256_xor_si256(c2[6966],simde_mm256_xor_si256(c2[2402],simde_mm256_xor_si256(c2[1922],simde_mm256_xor_si256(c2[2400],simde_mm256_xor_si256(c2[4108],simde_mm256_xor_si256(c2[3868],simde_mm256_xor_si256(c2[269],simde_mm256_xor_si256(c2[5549],simde_mm256_xor_si256(c2[2905],simde_mm256_xor_si256(c2[5334],simde_mm256_xor_si256(c2[5094],simde_mm256_xor_si256(c2[7254],simde_mm256_xor_si256(c2[4395],simde_mm256_xor_si256(c2[4155],simde_mm256_xor_si256(c2[4634],simde_mm256_xor_si256(c2[1037],simde_mm256_xor_si256(c2[7538],simde_mm256_xor_si256(c2[7060],simde_mm256_xor_si256(c2[101],simde_mm256_xor_si256(c2[2764],simde_mm256_xor_si256(c2[5643],simde_mm256_xor_si256(c2[6123],simde_mm256_xor_si256(c2[5667],simde_mm256_xor_si256(c2[5427],simde_mm256_xor_si256(c2[3506],simde_mm256_xor_si256(c2[2549],simde_mm256_xor_si256(c2[2575],simde_mm256_xor_si256(c2[1373],simde_mm256_xor_si256(c2[4010],simde_mm256_xor_si256(c2[2119],simde_mm256_xor_si256(c2[437],simde_mm256_xor_si256(c2[2834],simde_mm256_xor_si256(c2[6942],simde_mm256_xor_si256(c2[6702],simde_mm256_xor_si256(c2[4537],c2[2383]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[72]=simde_mm256_xor_si256(c2[1451],simde_mm256_xor_si256(c2[1211],simde_mm256_xor_si256(c2[4326],simde_mm256_xor_si256(c2[3846],simde_mm256_xor_si256(c2[244],simde_mm256_xor_si256(c2[6032],simde_mm256_xor_si256(c2[5792],simde_mm256_xor_si256(c2[2193],simde_mm256_xor_si256(c2[7473],simde_mm256_xor_si256(c2[7258],simde_mm256_xor_si256(c2[7018],simde_mm256_xor_si256(c2[1499],simde_mm256_xor_si256(c2[6319],simde_mm256_xor_si256(c2[6079],simde_mm256_xor_si256(c2[6558],simde_mm256_xor_si256(c2[2961],simde_mm256_xor_si256(c2[1783],simde_mm256_xor_si256(c2[1305],simde_mm256_xor_si256(c2[2025],simde_mm256_xor_si256(c2[4688],simde_mm256_xor_si256(c2[7567],simde_mm256_xor_si256(c2[6842],simde_mm256_xor_si256(c2[7591],simde_mm256_xor_si256(c2[7351],simde_mm256_xor_si256(c2[5430],simde_mm256_xor_si256(c2[4473],simde_mm256_xor_si256(c2[4499],simde_mm256_xor_si256(c2[3297],simde_mm256_xor_si256(c2[1131],simde_mm256_xor_si256(c2[4043],simde_mm256_xor_si256(c2[2361],simde_mm256_xor_si256(c2[4758],simde_mm256_xor_si256(c2[1187],simde_mm256_xor_si256(c2[947],simde_mm256_xor_si256(c2[6461],simde_mm256_xor_si256(c2[4307],c2[4297]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[84]=simde_mm256_xor_si256(c2[4808],simde_mm256_xor_si256(c2[4568],simde_mm256_xor_si256(c2[6729],simde_mm256_xor_si256(c2[4],simde_mm256_xor_si256(c2[2165],simde_mm256_xor_si256(c2[7203],simde_mm256_xor_si256(c2[1685],simde_mm256_xor_si256(c2[1710],simde_mm256_xor_si256(c2[1470],simde_mm256_xor_si256(c2[3631],simde_mm256_xor_si256(c2[5550],simde_mm256_xor_si256(c2[32],simde_mm256_xor_si256(c2[3151],simde_mm256_xor_si256(c2[5552],simde_mm256_xor_si256(c2[5312],simde_mm256_xor_si256(c2[3866],simde_mm256_xor_si256(c2[2936],simde_mm256_xor_si256(c2[2696],simde_mm256_xor_si256(c2[4857],simde_mm256_xor_si256(c2[4856],simde_mm256_xor_si256(c2[7257],simde_mm256_xor_si256(c2[7017],simde_mm256_xor_si256(c2[1997],simde_mm256_xor_si256(c2[1757],simde_mm256_xor_si256(c2[3918],simde_mm256_xor_si256(c2[2236],simde_mm256_xor_si256(c2[4397],simde_mm256_xor_si256(c2[6318],simde_mm256_xor_si256(c2[800],simde_mm256_xor_si256(c2[5140],simde_mm256_xor_si256(c2[7301],simde_mm256_xor_si256(c2[4662],simde_mm256_xor_si256(c2[6823],simde_mm256_xor_si256(c2[5382],simde_mm256_xor_si256(c2[104],simde_mm256_xor_si256(c2[7543],simde_mm256_xor_si256(c2[366],simde_mm256_xor_si256(c2[2527],simde_mm256_xor_si256(c2[3245],simde_mm256_xor_si256(c2[5646],simde_mm256_xor_si256(c2[5406],simde_mm256_xor_si256(c2[6365],simde_mm256_xor_si256(c2[3269],simde_mm256_xor_si256(c2[3029],simde_mm256_xor_si256(c2[5190],simde_mm256_xor_si256(c2[1108],simde_mm256_xor_si256(c2[3269],simde_mm256_xor_si256(c2[151],simde_mm256_xor_si256(c2[2552],simde_mm256_xor_si256(c2[2312],simde_mm256_xor_si256(c2[177],simde_mm256_xor_si256(c2[2338],simde_mm256_xor_si256(c2[6654],simde_mm256_xor_si256(c2[1376],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[4008],simde_mm256_xor_si256(c2[7400],simde_mm256_xor_si256(c2[1882],simde_mm256_xor_si256(c2[5718],simde_mm256_xor_si256(c2[200],simde_mm256_xor_si256(c2[436],simde_mm256_xor_si256(c2[2837],simde_mm256_xor_si256(c2[2597],simde_mm256_xor_si256(c2[4544],simde_mm256_xor_si256(c2[4304],simde_mm256_xor_si256(c2[6465],simde_mm256_xor_si256(c2[2139],simde_mm256_xor_si256(c2[4300],simde_mm256_xor_si256(c2[7664],simde_mm256_xor_si256(c2[2386],c2[2146]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[96]=simde_mm256_xor_si256(c2[1450],simde_mm256_xor_si256(c2[1210],simde_mm256_xor_si256(c2[4565],simde_mm256_xor_si256(c2[4325],simde_mm256_xor_si256(c2[3845],simde_mm256_xor_si256(c2[5283],simde_mm256_xor_si256(c2[6031],simde_mm256_xor_si256(c2[5791],simde_mm256_xor_si256(c2[2192],simde_mm256_xor_si256(c2[7472],simde_mm256_xor_si256(c2[1466],simde_mm256_xor_si256(c2[7257],simde_mm256_xor_si256(c2[7017],simde_mm256_xor_si256(c2[1498],simde_mm256_xor_si256(c2[6318],simde_mm256_xor_si256(c2[6078],simde_mm256_xor_si256(c2[6797],simde_mm256_xor_si256(c2[6557],simde_mm256_xor_si256(c2[2960],simde_mm256_xor_si256(c2[2022],simde_mm256_xor_si256(c2[1782],simde_mm256_xor_si256(c2[1304],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[4927],simde_mm256_xor_si256(c2[4687],simde_mm256_xor_si256(c2[7566],simde_mm256_xor_si256(c2[7590],simde_mm256_xor_si256(c2[7350],simde_mm256_xor_si256(c2[5669],simde_mm256_xor_si256(c2[5429],simde_mm256_xor_si256(c2[4472],simde_mm256_xor_si256(c2[4738],simde_mm256_xor_si256(c2[4498],simde_mm256_xor_si256(c2[3296],simde_mm256_xor_si256(c2[4282],simde_mm256_xor_si256(c2[4042],simde_mm256_xor_si256(c2[2360],simde_mm256_xor_si256(c2[4757],simde_mm256_xor_si256(c2[1186],simde_mm256_xor_si256(c2[946],simde_mm256_xor_si256(c2[6700],simde_mm256_xor_si256(c2[6460],c2[4306]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[108]=simde_mm256_xor_si256(c2[1451],simde_mm256_xor_si256(c2[11],simde_mm256_xor_si256(c2[7450],simde_mm256_xor_si256(c2[4566],simde_mm256_xor_si256(c2[2886],simde_mm256_xor_si256(c2[4086],simde_mm256_xor_si256(c2[2406],simde_mm256_xor_si256(c2[6032],simde_mm256_xor_si256(c2[4592],simde_mm256_xor_si256(c2[4352],simde_mm256_xor_si256(c2[2433],simde_mm256_xor_si256(c2[753],simde_mm256_xor_si256(c2[34],simde_mm256_xor_si256(c2[6033],simde_mm256_xor_si256(c2[6744],simde_mm256_xor_si256(c2[7258],simde_mm256_xor_si256(c2[5818],simde_mm256_xor_si256(c2[5578],simde_mm256_xor_si256(c2[1739],simde_mm256_xor_si256(c2[59],simde_mm256_xor_si256(c2[6319],simde_mm256_xor_si256(c2[4879],simde_mm256_xor_si256(c2[4639],simde_mm256_xor_si256(c2[6798],simde_mm256_xor_si256(c2[5118],simde_mm256_xor_si256(c2[3201],simde_mm256_xor_si256(c2[1521],simde_mm256_xor_si256(c2[2023],simde_mm256_xor_si256(c2[343],simde_mm256_xor_si256(c2[1545],simde_mm256_xor_si256(c2[7544],simde_mm256_xor_si256(c2[2265],simde_mm256_xor_si256(c2[585],simde_mm256_xor_si256(c2[4928],simde_mm256_xor_si256(c2[3248],simde_mm256_xor_si256(c2[128],simde_mm256_xor_si256(c2[6127],simde_mm256_xor_si256(c2[7591],simde_mm256_xor_si256(c2[6151],simde_mm256_xor_si256(c2[5911],simde_mm256_xor_si256(c2[5670],simde_mm256_xor_si256(c2[3990],simde_mm256_xor_si256(c2[4713],simde_mm256_xor_si256(c2[3033],simde_mm256_xor_si256(c2[4739],simde_mm256_xor_si256(c2[3059],simde_mm256_xor_si256(c2[3537],simde_mm256_xor_si256(c2[1857],simde_mm256_xor_si256(c2[4283],simde_mm256_xor_si256(c2[2603],simde_mm256_xor_si256(c2[2601],simde_mm256_xor_si256(c2[921],simde_mm256_xor_si256(c2[4998],simde_mm256_xor_si256(c2[3318],simde_mm256_xor_si256(c2[1156],simde_mm256_xor_si256(c2[1187],simde_mm256_xor_si256(c2[7426],simde_mm256_xor_si256(c2[7186],simde_mm256_xor_si256(c2[6701],simde_mm256_xor_si256(c2[5021],simde_mm256_xor_si256(c2[4547],c2[2867])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[120]=simde_mm256_xor_si256(c2[6481],simde_mm256_xor_si256(c2[1947],simde_mm256_xor_si256(c2[5424],c2[4969])));
|
|
|
|
//row: 11
|
|
d2[132]=simde_mm256_xor_si256(c2[1690],simde_mm256_xor_si256(c2[4805],simde_mm256_xor_si256(c2[4325],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[6271],simde_mm256_xor_si256(c2[2672],simde_mm256_xor_si256(c2[513],simde_mm256_xor_si256(c2[273],simde_mm256_xor_si256(c2[7497],simde_mm256_xor_si256(c2[2218],simde_mm256_xor_si256(c2[1978],simde_mm256_xor_si256(c2[6558],simde_mm256_xor_si256(c2[7037],simde_mm256_xor_si256(c2[3440],simde_mm256_xor_si256(c2[2262],simde_mm256_xor_si256(c2[1784],simde_mm256_xor_si256(c2[2744],simde_mm256_xor_si256(c2[2504],simde_mm256_xor_si256(c2[5167],simde_mm256_xor_si256(c2[607],simde_mm256_xor_si256(c2[367],simde_mm256_xor_si256(c2[151],simde_mm256_xor_si256(c2[5909],simde_mm256_xor_si256(c2[5192],simde_mm256_xor_si256(c2[4952],simde_mm256_xor_si256(c2[4978],simde_mm256_xor_si256(c2[4016],simde_mm256_xor_si256(c2[3776],simde_mm256_xor_si256(c2[6890],simde_mm256_xor_si256(c2[4522],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[5477],simde_mm256_xor_si256(c2[5237],simde_mm256_xor_si256(c2[1426],simde_mm256_xor_si256(c2[6940],simde_mm256_xor_si256(c2[5026],simde_mm256_xor_si256(c2[4786],c2[3581])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[144]=simde_mm256_xor_si256(c2[6005],simde_mm256_xor_si256(c2[5765],simde_mm256_xor_si256(c2[1201],simde_mm256_xor_si256(c2[721],simde_mm256_xor_si256(c2[2907],simde_mm256_xor_si256(c2[2667],simde_mm256_xor_si256(c2[6747],simde_mm256_xor_si256(c2[4348],simde_mm256_xor_si256(c2[1705],simde_mm256_xor_si256(c2[4133],simde_mm256_xor_si256(c2[3893],simde_mm256_xor_si256(c2[6053],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[2954],simde_mm256_xor_si256(c2[3433],simde_mm256_xor_si256(c2[7515],simde_mm256_xor_si256(c2[7034],simde_mm256_xor_si256(c2[6337],simde_mm256_xor_si256(c2[5859],simde_mm256_xor_si256(c2[6579],simde_mm256_xor_si256(c2[1563],simde_mm256_xor_si256(c2[4442],simde_mm256_xor_si256(c2[4466],simde_mm256_xor_si256(c2[4226],simde_mm256_xor_si256(c2[2305],simde_mm256_xor_si256(c2[1348],simde_mm256_xor_si256(c2[1374],simde_mm256_xor_si256(c2[172],simde_mm256_xor_si256(c2[918],simde_mm256_xor_si256(c2[6915],simde_mm256_xor_si256(c2[1633],simde_mm256_xor_si256(c2[5741],simde_mm256_xor_si256(c2[5501],simde_mm256_xor_si256(c2[3336],c2[1182]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[156]=simde_mm256_xor_si256(c2[4570],simde_mm256_xor_si256(c2[6],simde_mm256_xor_si256(c2[7205],simde_mm256_xor_si256(c2[4081],simde_mm256_xor_si256(c2[1472],simde_mm256_xor_si256(c2[5552],simde_mm256_xor_si256(c2[3393],simde_mm256_xor_si256(c2[3153],simde_mm256_xor_si256(c2[6987],simde_mm256_xor_si256(c2[2698],simde_mm256_xor_si256(c2[5098],simde_mm256_xor_si256(c2[4858],simde_mm256_xor_si256(c2[1759],simde_mm256_xor_si256(c2[2238],simde_mm256_xor_si256(c2[6320],simde_mm256_xor_si256(c2[5142],simde_mm256_xor_si256(c2[4664],simde_mm256_xor_si256(c2[5624],simde_mm256_xor_si256(c2[5384],simde_mm256_xor_si256(c2[368],simde_mm256_xor_si256(c2[3487],simde_mm256_xor_si256(c2[3247],simde_mm256_xor_si256(c2[3031],simde_mm256_xor_si256(c2[1110],simde_mm256_xor_si256(c2[393],simde_mm256_xor_si256(c2[153],simde_mm256_xor_si256(c2[179],simde_mm256_xor_si256(c2[6896],simde_mm256_xor_si256(c2[6656],simde_mm256_xor_si256(c2[7402],simde_mm256_xor_si256(c2[5720],simde_mm256_xor_si256(c2[678],simde_mm256_xor_si256(c2[438],simde_mm256_xor_si256(c2[913],simde_mm256_xor_si256(c2[4306],simde_mm256_xor_si256(c2[2141],simde_mm256_xor_si256(c2[227],c2[7666])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[168]=simde_mm256_xor_si256(c2[726],simde_mm256_xor_si256(c2[486],simde_mm256_xor_si256(c2[3850],simde_mm256_xor_si256(c2[3601],simde_mm256_xor_si256(c2[6965],simde_mm256_xor_si256(c2[3121],simde_mm256_xor_si256(c2[6485],simde_mm256_xor_si256(c2[5307],simde_mm256_xor_si256(c2[5067],simde_mm256_xor_si256(c2[752],simde_mm256_xor_si256(c2[1468],simde_mm256_xor_si256(c2[4832],simde_mm256_xor_si256(c2[6748],simde_mm256_xor_si256(c2[2673],simde_mm256_xor_si256(c2[2433],simde_mm256_xor_si256(c2[4584],simde_mm256_xor_si256(c2[6533],simde_mm256_xor_si256(c2[6293],simde_mm256_xor_si256(c2[1978],simde_mm256_xor_si256(c2[774],simde_mm256_xor_si256(c2[4378],simde_mm256_xor_si256(c2[4138],simde_mm256_xor_si256(c2[5594],simde_mm256_xor_si256(c2[5354],simde_mm256_xor_si256(c2[1039],simde_mm256_xor_si256(c2[5833],simde_mm256_xor_si256(c2[1518],simde_mm256_xor_si256(c2[2236],simde_mm256_xor_si256(c2[5600],simde_mm256_xor_si256(c2[1058],simde_mm256_xor_si256(c2[4422],simde_mm256_xor_si256(c2[580],simde_mm256_xor_si256(c2[3944],simde_mm256_xor_si256(c2[1300],simde_mm256_xor_si256(c2[4904],simde_mm256_xor_si256(c2[4664],simde_mm256_xor_si256(c2[3963],simde_mm256_xor_si256(c2[7327],simde_mm256_xor_si256(c2[6842],simde_mm256_xor_si256(c2[2767],simde_mm256_xor_si256(c2[2527],simde_mm256_xor_si256(c2[6866],simde_mm256_xor_si256(c2[6626],simde_mm256_xor_si256(c2[2311],simde_mm256_xor_si256(c2[4705],simde_mm256_xor_si256(c2[390],simde_mm256_xor_si256(c2[3748],simde_mm256_xor_si256(c2[7352],simde_mm256_xor_si256(c2[7112],simde_mm256_xor_si256(c2[5427],simde_mm256_xor_si256(c2[3774],simde_mm256_xor_si256(c2[7138],simde_mm256_xor_si256(c2[2572],simde_mm256_xor_si256(c2[6176],simde_mm256_xor_si256(c2[5936],simde_mm256_xor_si256(c2[3318],simde_mm256_xor_si256(c2[6682],simde_mm256_xor_si256(c2[1636],simde_mm256_xor_si256(c2[5000],simde_mm256_xor_si256(c2[4033],simde_mm256_xor_si256(c2[7637],simde_mm256_xor_si256(c2[7397],simde_mm256_xor_si256(c2[462],simde_mm256_xor_si256(c2[222],simde_mm256_xor_si256(c2[3586],simde_mm256_xor_si256(c2[5736],simde_mm256_xor_si256(c2[1421],simde_mm256_xor_si256(c2[3582],simde_mm256_xor_si256(c2[7186],c2[6946])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[180]=simde_mm256_xor_si256(c2[2887],simde_mm256_xor_si256(c2[7447],simde_mm256_xor_si256(c2[7207],simde_mm256_xor_si256(c2[6002],simde_mm256_xor_si256(c2[2643],simde_mm256_xor_si256(c2[5522],simde_mm256_xor_si256(c2[2163],simde_mm256_xor_si256(c2[962],simde_mm256_xor_si256(c2[7468],simde_mm256_xor_si256(c2[4349],simde_mm256_xor_si256(c2[4109],simde_mm256_xor_si256(c2[3869],simde_mm256_xor_si256(c2[510],simde_mm256_xor_si256(c2[1470],simde_mm256_xor_si256(c2[5790],simde_mm256_xor_si256(c2[1015],simde_mm256_xor_si256(c2[5575],simde_mm256_xor_si256(c2[5335],simde_mm256_xor_si256(c2[3175],simde_mm256_xor_si256(c2[7495],simde_mm256_xor_si256(c2[76],simde_mm256_xor_si256(c2[4636],simde_mm256_xor_si256(c2[4396],simde_mm256_xor_si256(c2[555],simde_mm256_xor_si256(c2[4875],simde_mm256_xor_si256(c2[4637],simde_mm256_xor_si256(c2[1278],simde_mm256_xor_si256(c2[3459],simde_mm256_xor_si256(c2[100],simde_mm256_xor_si256(c2[2981],simde_mm256_xor_si256(c2[7301],simde_mm256_xor_si256(c2[3701],simde_mm256_xor_si256(c2[342],simde_mm256_xor_si256(c2[6364],simde_mm256_xor_si256(c2[3005],simde_mm256_xor_si256(c2[1564],simde_mm256_xor_si256(c2[5884],simde_mm256_xor_si256(c2[1348],simde_mm256_xor_si256(c2[5908],simde_mm256_xor_si256(c2[5668],simde_mm256_xor_si256(c2[7106],simde_mm256_xor_si256(c2[3747],simde_mm256_xor_si256(c2[6149],simde_mm256_xor_si256(c2[2790],simde_mm256_xor_si256(c2[6175],simde_mm256_xor_si256(c2[2816],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[1614],simde_mm256_xor_si256(c2[5719],simde_mm256_xor_si256(c2[2360],simde_mm256_xor_si256(c2[4037],simde_mm256_xor_si256(c2[678],simde_mm256_xor_si256(c2[6434],simde_mm256_xor_si256(c2[3075],simde_mm256_xor_si256(c2[2623],simde_mm256_xor_si256(c2[7183],simde_mm256_xor_si256(c2[6943],simde_mm256_xor_si256(c2[458],simde_mm256_xor_si256(c2[4778],simde_mm256_xor_si256(c2[5983],c2[2624]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[192]=simde_mm256_xor_si256(c2[5049],simde_mm256_xor_si256(c2[4809],simde_mm256_xor_si256(c2[3367],simde_mm256_xor_si256(c2[3127],simde_mm256_xor_si256(c2[245],simde_mm256_xor_si256(c2[6482],simde_mm256_xor_si256(c2[6242],simde_mm256_xor_si256(c2[7444],simde_mm256_xor_si256(c2[5762],simde_mm256_xor_si256(c2[1951],simde_mm256_xor_si256(c2[1711],simde_mm256_xor_si256(c2[269],simde_mm256_xor_si256(c2[29],simde_mm256_xor_si256(c2[5791],simde_mm256_xor_si256(c2[4109],simde_mm256_xor_si256(c2[3392],simde_mm256_xor_si256(c2[1710],simde_mm256_xor_si256(c2[5546],simde_mm256_xor_si256(c2[3177],simde_mm256_xor_si256(c2[2937],simde_mm256_xor_si256(c2[1495],simde_mm256_xor_si256(c2[1255],simde_mm256_xor_si256(c2[5097],simde_mm256_xor_si256(c2[3415],simde_mm256_xor_si256(c2[2238],simde_mm256_xor_si256(c2[1998],simde_mm256_xor_si256(c2[556],simde_mm256_xor_si256(c2[316],simde_mm256_xor_si256(c2[2477],simde_mm256_xor_si256(c2[1035],simde_mm256_xor_si256(c2[795],simde_mm256_xor_si256(c2[6559],simde_mm256_xor_si256(c2[4877],simde_mm256_xor_si256(c2[5381],simde_mm256_xor_si256(c2[3939],simde_mm256_xor_si256(c2[3699],simde_mm256_xor_si256(c2[4903],simde_mm256_xor_si256(c2[3221],simde_mm256_xor_si256(c2[5623],simde_mm256_xor_si256(c2[3941],simde_mm256_xor_si256(c2[607],simde_mm256_xor_si256(c2[6844],simde_mm256_xor_si256(c2[6604],simde_mm256_xor_si256(c2[3486],simde_mm256_xor_si256(c2[1804],simde_mm256_xor_si256(c2[3510],simde_mm256_xor_si256(c2[3270],simde_mm256_xor_si256(c2[1828],simde_mm256_xor_si256(c2[1588],simde_mm256_xor_si256(c2[1349],simde_mm256_xor_si256(c2[7586],simde_mm256_xor_si256(c2[7346],simde_mm256_xor_si256(c2[392],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[418],simde_mm256_xor_si256(c2[6655],simde_mm256_xor_si256(c2[6415],simde_mm256_xor_si256(c2[6895],simde_mm256_xor_si256(c2[5213],simde_mm256_xor_si256(c2[7641],simde_mm256_xor_si256(c2[6199],simde_mm256_xor_si256(c2[5959],simde_mm256_xor_si256(c2[5959],simde_mm256_xor_si256(c2[4277],simde_mm256_xor_si256(c2[677],simde_mm256_xor_si256(c2[6674],simde_mm256_xor_si256(c2[4785],simde_mm256_xor_si256(c2[4545],simde_mm256_xor_si256(c2[3103],simde_mm256_xor_si256(c2[2863],simde_mm256_xor_si256(c2[2380],simde_mm256_xor_si256(c2[938],simde_mm256_xor_si256(c2[698],simde_mm256_xor_si256(c2[226],simde_mm256_xor_si256(c2[6223],c2[4301])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[204]=simde_mm256_xor_si256(c2[5525],simde_mm256_xor_si256(c2[5285],simde_mm256_xor_si256(c2[4805],simde_mm256_xor_si256(c2[4565],simde_mm256_xor_si256(c2[721],simde_mm256_xor_si256(c2[241],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[241],simde_mm256_xor_si256(c2[7200],simde_mm256_xor_si256(c2[2427],simde_mm256_xor_si256(c2[2187],simde_mm256_xor_si256(c2[1707],simde_mm256_xor_si256(c2[1467],simde_mm256_xor_si256(c2[6267],simde_mm256_xor_si256(c2[5547],simde_mm256_xor_si256(c2[3868],simde_mm256_xor_si256(c2[3148],simde_mm256_xor_si256(c2[7228],simde_mm256_xor_si256(c2[3653],simde_mm256_xor_si256(c2[3413],simde_mm256_xor_si256(c2[2933],simde_mm256_xor_si256(c2[2693],simde_mm256_xor_si256(c2[5573],simde_mm256_xor_si256(c2[4853],simde_mm256_xor_si256(c2[2714],simde_mm256_xor_si256(c2[2474],simde_mm256_xor_si256(c2[1994],simde_mm256_xor_si256(c2[1754],simde_mm256_xor_si256(c2[2953],simde_mm256_xor_si256(c2[2473],simde_mm256_xor_si256(c2[2233],simde_mm256_xor_si256(c2[7035],simde_mm256_xor_si256(c2[6315],simde_mm256_xor_si256(c2[5857],simde_mm256_xor_si256(c2[5377],simde_mm256_xor_si256(c2[5137],simde_mm256_xor_si256(c2[5379],simde_mm256_xor_si256(c2[4659],simde_mm256_xor_si256(c2[6099],simde_mm256_xor_si256(c2[5379],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[603],simde_mm256_xor_si256(c2[363],simde_mm256_xor_si256(c2[3962],simde_mm256_xor_si256(c2[3242],simde_mm256_xor_si256(c2[5640],simde_mm256_xor_si256(c2[3986],simde_mm256_xor_si256(c2[3746],simde_mm256_xor_si256(c2[3266],simde_mm256_xor_si256(c2[3026],simde_mm256_xor_si256(c2[1825],simde_mm256_xor_si256(c2[1345],simde_mm256_xor_si256(c2[1105],simde_mm256_xor_si256(c2[868],simde_mm256_xor_si256(c2[148],simde_mm256_xor_si256(c2[894],simde_mm256_xor_si256(c2[414],simde_mm256_xor_si256(c2[174],simde_mm256_xor_si256(c2[7371],simde_mm256_xor_si256(c2[6651],simde_mm256_xor_si256(c2[438],simde_mm256_xor_si256(c2[7637],simde_mm256_xor_si256(c2[7397],simde_mm256_xor_si256(c2[6435],simde_mm256_xor_si256(c2[5715],simde_mm256_xor_si256(c2[1153],simde_mm256_xor_si256(c2[433],simde_mm256_xor_si256(c2[5261],simde_mm256_xor_si256(c2[5021],simde_mm256_xor_si256(c2[4541],simde_mm256_xor_si256(c2[4301],simde_mm256_xor_si256(c2[2856],simde_mm256_xor_si256(c2[2376],simde_mm256_xor_si256(c2[2136],simde_mm256_xor_si256(c2[702],c2[7661])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[216]=simde_mm256_xor_si256(c2[6245],simde_mm256_xor_si256(c2[1584],c2[3529]));
|
|
|
|
//row: 19
|
|
d2[228]=simde_mm256_xor_si256(c2[2170],simde_mm256_xor_si256(c2[5285],simde_mm256_xor_si256(c2[4805],simde_mm256_xor_si256(c2[6241],simde_mm256_xor_si256(c2[6751],simde_mm256_xor_si256(c2[3152],simde_mm256_xor_si256(c2[753],simde_mm256_xor_si256(c2[2425],simde_mm256_xor_si256(c2[298],simde_mm256_xor_si256(c2[2458],simde_mm256_xor_si256(c2[7038],simde_mm256_xor_si256(c2[7517],simde_mm256_xor_si256(c2[3920],simde_mm256_xor_si256(c2[2742],simde_mm256_xor_si256(c2[2264],simde_mm256_xor_si256(c2[2984],simde_mm256_xor_si256(c2[5647],simde_mm256_xor_si256(c2[847],simde_mm256_xor_si256(c2[631],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[5432],simde_mm256_xor_si256(c2[5458],simde_mm256_xor_si256(c2[4256],simde_mm256_xor_si256(c2[5002],simde_mm256_xor_si256(c2[3320],simde_mm256_xor_si256(c2[5717],simde_mm256_xor_si256(c2[1906],simde_mm256_xor_si256(c2[7420],c2[5266]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[240]=simde_mm256_xor_si256(c2[1690],simde_mm256_xor_si256(c2[1450],simde_mm256_xor_si256(c2[4565],simde_mm256_xor_si256(c2[4085],simde_mm256_xor_si256(c2[6271],simde_mm256_xor_si256(c2[6031],simde_mm256_xor_si256(c2[2432],simde_mm256_xor_si256(c2[33],simde_mm256_xor_si256(c2[2906],simde_mm256_xor_si256(c2[7497],simde_mm256_xor_si256(c2[7257],simde_mm256_xor_si256(c2[1738],simde_mm256_xor_si256(c2[6558],simde_mm256_xor_si256(c2[6318],simde_mm256_xor_si256(c2[6797],simde_mm256_xor_si256(c2[3200],simde_mm256_xor_si256(c2[2022],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[2264],simde_mm256_xor_si256(c2[7057],simde_mm256_xor_si256(c2[4927],simde_mm256_xor_si256(c2[127],simde_mm256_xor_si256(c2[151],simde_mm256_xor_si256(c2[7590],simde_mm256_xor_si256(c2[5669],simde_mm256_xor_si256(c2[4712],simde_mm256_xor_si256(c2[4738],simde_mm256_xor_si256(c2[3536],simde_mm256_xor_si256(c2[4282],simde_mm256_xor_si256(c2[2600],simde_mm256_xor_si256(c2[4997],simde_mm256_xor_si256(c2[1426],simde_mm256_xor_si256(c2[1186],simde_mm256_xor_si256(c2[6700],c2[4546]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[252]=simde_mm256_xor_si256(c2[3847],simde_mm256_xor_si256(c2[6962],simde_mm256_xor_si256(c2[6482],simde_mm256_xor_si256(c2[6964],simde_mm256_xor_si256(c2[749],simde_mm256_xor_si256(c2[4829],simde_mm256_xor_si256(c2[2670],simde_mm256_xor_si256(c2[2430],simde_mm256_xor_si256(c2[1975],simde_mm256_xor_si256(c2[4375],simde_mm256_xor_si256(c2[4135],simde_mm256_xor_si256(c2[1036],simde_mm256_xor_si256(c2[1515],simde_mm256_xor_si256(c2[5597],simde_mm256_xor_si256(c2[4419],simde_mm256_xor_si256(c2[3941],simde_mm256_xor_si256(c2[4901],simde_mm256_xor_si256(c2[4661],simde_mm256_xor_si256(c2[7324],simde_mm256_xor_si256(c2[2764],simde_mm256_xor_si256(c2[2524],simde_mm256_xor_si256(c2[2308],simde_mm256_xor_si256(c2[387],simde_mm256_xor_si256(c2[7349],simde_mm256_xor_si256(c2[7109],simde_mm256_xor_si256(c2[7135],simde_mm256_xor_si256(c2[6173],simde_mm256_xor_si256(c2[5933],simde_mm256_xor_si256(c2[6679],simde_mm256_xor_si256(c2[4997],simde_mm256_xor_si256(c2[7634],simde_mm256_xor_si256(c2[7394],simde_mm256_xor_si256(c2[3797],simde_mm256_xor_si256(c2[3583],simde_mm256_xor_si256(c2[1418],simde_mm256_xor_si256(c2[7183],c2[6943]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[264]=simde_mm256_xor_si256(c2[4824],c2[4849]);
|
|
|
|
//row: 23
|
|
d2[276]=simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[5354],c2[7562]));
|
|
|
|
//row: 24
|
|
d2[288]=simde_mm256_xor_si256(c2[5309],simde_mm256_xor_si256(c2[6052],c2[218]));
|
|
|
|
//row: 25
|
|
d2[300]=simde_mm256_xor_si256(c2[3121],c2[5160]);
|
|
|
|
//row: 26
|
|
d2[312]=simde_mm256_xor_si256(c2[1207],simde_mm256_xor_si256(c2[967],simde_mm256_xor_si256(c2[488],simde_mm256_xor_si256(c2[4322],simde_mm256_xor_si256(c2[4082],simde_mm256_xor_si256(c2[3603],simde_mm256_xor_si256(c2[3602],simde_mm256_xor_si256(c2[3123],simde_mm256_xor_si256(c2[5788],simde_mm256_xor_si256(c2[5548],simde_mm256_xor_si256(c2[5069],simde_mm256_xor_si256(c2[1949],simde_mm256_xor_si256(c2[1470],simde_mm256_xor_si256(c2[7229],simde_mm256_xor_si256(c2[6990],simde_mm256_xor_si256(c2[6750],simde_mm256_xor_si256(c2[7014],simde_mm256_xor_si256(c2[6774],simde_mm256_xor_si256(c2[6295],simde_mm256_xor_si256(c2[1255],simde_mm256_xor_si256(c2[1016],simde_mm256_xor_si256(c2[776],simde_mm256_xor_si256(c2[770],simde_mm256_xor_si256(c2[6075],simde_mm256_xor_si256(c2[5835],simde_mm256_xor_si256(c2[5356],simde_mm256_xor_si256(c2[6554],simde_mm256_xor_si256(c2[6314],simde_mm256_xor_si256(c2[5835],simde_mm256_xor_si256(c2[2717],simde_mm256_xor_si256(c2[2238],simde_mm256_xor_si256(c2[1779],simde_mm256_xor_si256(c2[1539],simde_mm256_xor_si256(c2[1060],simde_mm256_xor_si256(c2[1061],simde_mm256_xor_si256(c2[582],simde_mm256_xor_si256(c2[1781],simde_mm256_xor_si256(c2[1542],simde_mm256_xor_si256(c2[1302],simde_mm256_xor_si256(c2[4684],simde_mm256_xor_si256(c2[4444],simde_mm256_xor_si256(c2[3965],simde_mm256_xor_si256(c2[7323],simde_mm256_xor_si256(c2[7084],simde_mm256_xor_si256(c2[6844],simde_mm256_xor_si256(c2[7347],simde_mm256_xor_si256(c2[7107],simde_mm256_xor_si256(c2[6628],simde_mm256_xor_si256(c2[5426],simde_mm256_xor_si256(c2[5186],simde_mm256_xor_si256(c2[4707],simde_mm256_xor_si256(c2[4229],simde_mm256_xor_si256(c2[3990],simde_mm256_xor_si256(c2[3750],simde_mm256_xor_si256(c2[4495],simde_mm256_xor_si256(c2[4255],simde_mm256_xor_si256(c2[3776],simde_mm256_xor_si256(c2[3053],simde_mm256_xor_si256(c2[2814],simde_mm256_xor_si256(c2[2574],simde_mm256_xor_si256(c2[2332],simde_mm256_xor_si256(c2[4039],simde_mm256_xor_si256(c2[3799],simde_mm256_xor_si256(c2[3320],simde_mm256_xor_si256(c2[2117],simde_mm256_xor_si256(c2[1638],simde_mm256_xor_si256(c2[4514],simde_mm256_xor_si256(c2[4275],simde_mm256_xor_si256(c2[4035],simde_mm256_xor_si256(c2[943],simde_mm256_xor_si256(c2[703],simde_mm256_xor_si256(c2[224],simde_mm256_xor_si256(c2[6457],simde_mm256_xor_si256(c2[6217],simde_mm256_xor_si256(c2[5738],simde_mm256_xor_si256(c2[4063],simde_mm256_xor_si256(c2[3824],c2[3584])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[324]=simde_mm256_xor_si256(c2[1683],c2[4465]);
|
|
|
|
//row: 28
|
|
d2[336]=simde_mm256_xor_si256(c2[1466],simde_mm256_xor_si256(c2[3651],c2[2045]));
|
|
|
|
//row: 29
|
|
d2[348]=simde_mm256_xor_si256(c2[3363],c2[4176]);
|
|
|
|
//row: 30
|
|
d2[360]=simde_mm256_xor_si256(c2[5811],simde_mm256_xor_si256(c2[6364],simde_mm256_xor_si256(c2[4969],c2[5977])));
|
|
|
|
//row: 31
|
|
d2[372]=simde_mm256_xor_si256(c2[5530],simde_mm256_xor_si256(c2[966],simde_mm256_xor_si256(c2[486],simde_mm256_xor_si256(c2[2432],simde_mm256_xor_si256(c2[6512],simde_mm256_xor_si256(c2[4353],simde_mm256_xor_si256(c2[4113],simde_mm256_xor_si256(c2[744],simde_mm256_xor_si256(c2[3658],simde_mm256_xor_si256(c2[6058],simde_mm256_xor_si256(c2[5818],simde_mm256_xor_si256(c2[2719],simde_mm256_xor_si256(c2[3198],simde_mm256_xor_si256(c2[7280],simde_mm256_xor_si256(c2[6102],simde_mm256_xor_si256(c2[5624],simde_mm256_xor_si256(c2[6584],simde_mm256_xor_si256(c2[6344],simde_mm256_xor_si256(c2[1328],simde_mm256_xor_si256(c2[4447],simde_mm256_xor_si256(c2[4207],simde_mm256_xor_si256(c2[3991],simde_mm256_xor_si256(c2[2070],simde_mm256_xor_si256(c2[1353],simde_mm256_xor_si256(c2[1113],simde_mm256_xor_si256(c2[1139],simde_mm256_xor_si256(c2[177],simde_mm256_xor_si256(c2[7616],simde_mm256_xor_si256(c2[683],simde_mm256_xor_si256(c2[6680],simde_mm256_xor_si256(c2[1638],simde_mm256_xor_si256(c2[1398],simde_mm256_xor_si256(c2[5266],simde_mm256_xor_si256(c2[3101],simde_mm256_xor_si256(c2[1187],c2[947])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[384]=simde_mm256_xor_si256(c2[7445],simde_mm256_xor_si256(c2[7205],simde_mm256_xor_si256(c2[2881],simde_mm256_xor_si256(c2[2641],simde_mm256_xor_si256(c2[2161],simde_mm256_xor_si256(c2[4802],simde_mm256_xor_si256(c2[4347],simde_mm256_xor_si256(c2[4107],simde_mm256_xor_si256(c2[508],simde_mm256_xor_si256(c2[5788],simde_mm256_xor_si256(c2[5573],simde_mm256_xor_si256(c2[5333],simde_mm256_xor_si256(c2[7493],simde_mm256_xor_si256(c2[4634],simde_mm256_xor_si256(c2[4394],simde_mm256_xor_si256(c2[5113],simde_mm256_xor_si256(c2[4873],simde_mm256_xor_si256(c2[1276],simde_mm256_xor_si256(c2[338],simde_mm256_xor_si256(c2[98],simde_mm256_xor_si256(c2[7299],simde_mm256_xor_si256(c2[340],simde_mm256_xor_si256(c2[3243],simde_mm256_xor_si256(c2[3003],simde_mm256_xor_si256(c2[5882],simde_mm256_xor_si256(c2[2040],simde_mm256_xor_si256(c2[5906],simde_mm256_xor_si256(c2[5666],simde_mm256_xor_si256(c2[3985],simde_mm256_xor_si256(c2[3745],simde_mm256_xor_si256(c2[2788],simde_mm256_xor_si256(c2[3054],simde_mm256_xor_si256(c2[2814],simde_mm256_xor_si256(c2[1612],simde_mm256_xor_si256(c2[2598],simde_mm256_xor_si256(c2[2358],simde_mm256_xor_si256(c2[676],simde_mm256_xor_si256(c2[3073],simde_mm256_xor_si256(c2[7181],simde_mm256_xor_si256(c2[6941],simde_mm256_xor_si256(c2[5016],simde_mm256_xor_si256(c2[4776],c2[2622]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[396]=simde_mm256_xor_si256(c2[2169],simde_mm256_xor_si256(c2[5284],simde_mm256_xor_si256(c2[4804],simde_mm256_xor_si256(c2[6750],simde_mm256_xor_si256(c2[3151],simde_mm256_xor_si256(c2[752],simde_mm256_xor_si256(c2[297],simde_mm256_xor_si256(c2[2457],simde_mm256_xor_si256(c2[1253],simde_mm256_xor_si256(c2[7037],simde_mm256_xor_si256(c2[7516],simde_mm256_xor_si256(c2[3919],simde_mm256_xor_si256(c2[2741],simde_mm256_xor_si256(c2[2263],simde_mm256_xor_si256(c2[2983],simde_mm256_xor_si256(c2[5646],simde_mm256_xor_si256(c2[846],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[6388],simde_mm256_xor_si256(c2[5431],simde_mm256_xor_si256(c2[5457],simde_mm256_xor_si256(c2[4255],simde_mm256_xor_si256(c2[4733],simde_mm256_xor_si256(c2[5001],simde_mm256_xor_si256(c2[3319],simde_mm256_xor_si256(c2[5716],simde_mm256_xor_si256(c2[1905],simde_mm256_xor_si256(c2[7419],c2[5265]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[408]=simde_mm256_xor_si256(c2[7450],simde_mm256_xor_si256(c2[7210],simde_mm256_xor_si256(c2[6005],simde_mm256_xor_si256(c2[2886],simde_mm256_xor_si256(c2[2646],simde_mm256_xor_si256(c2[1441],simde_mm256_xor_si256(c2[2166],simde_mm256_xor_si256(c2[961],simde_mm256_xor_si256(c2[3125],simde_mm256_xor_si256(c2[4352],simde_mm256_xor_si256(c2[4112],simde_mm256_xor_si256(c2[2907],simde_mm256_xor_si256(c2[513],simde_mm256_xor_si256(c2[6987],simde_mm256_xor_si256(c2[5793],simde_mm256_xor_si256(c2[4828],simde_mm256_xor_si256(c2[4588],simde_mm256_xor_si256(c2[5578],simde_mm256_xor_si256(c2[5338],simde_mm256_xor_si256(c2[4133],simde_mm256_xor_si256(c2[7498],simde_mm256_xor_si256(c2[6533],simde_mm256_xor_si256(c2[6293],simde_mm256_xor_si256(c2[4639],simde_mm256_xor_si256(c2[4399],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[5118],simde_mm256_xor_si256(c2[4878],simde_mm256_xor_si256(c2[3673],simde_mm256_xor_si256(c2[1281],simde_mm256_xor_si256(c2[76],simde_mm256_xor_si256(c2[343],simde_mm256_xor_si256(c2[103],simde_mm256_xor_si256(c2[6577],simde_mm256_xor_si256(c2[7304],simde_mm256_xor_si256(c2[6099],simde_mm256_xor_si256(c2[345],simde_mm256_xor_si256(c2[7059],simde_mm256_xor_si256(c2[6819],simde_mm256_xor_si256(c2[3248],simde_mm256_xor_si256(c2[3008],simde_mm256_xor_si256(c2[1803],simde_mm256_xor_si256(c2[5887],simde_mm256_xor_si256(c2[4922],simde_mm256_xor_si256(c2[4682],simde_mm256_xor_si256(c2[5911],simde_mm256_xor_si256(c2[5671],simde_mm256_xor_si256(c2[4466],simde_mm256_xor_si256(c2[3990],simde_mm256_xor_si256(c2[3750],simde_mm256_xor_si256(c2[2545],simde_mm256_xor_si256(c2[2793],simde_mm256_xor_si256(c2[1828],simde_mm256_xor_si256(c2[1588],simde_mm256_xor_si256(c2[3059],simde_mm256_xor_si256(c2[2819],simde_mm256_xor_si256(c2[1614],simde_mm256_xor_si256(c2[1617],simde_mm256_xor_si256(c2[652],simde_mm256_xor_si256(c2[412],simde_mm256_xor_si256(c2[2603],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[1158],simde_mm256_xor_si256(c2[681],simde_mm256_xor_si256(c2[7155],simde_mm256_xor_si256(c2[3078],simde_mm256_xor_si256(c2[2113],simde_mm256_xor_si256(c2[1873],simde_mm256_xor_si256(c2[7186],simde_mm256_xor_si256(c2[6946],simde_mm256_xor_si256(c2[5741],simde_mm256_xor_si256(c2[5021],simde_mm256_xor_si256(c2[4781],simde_mm256_xor_si256(c2[3576],simde_mm256_xor_si256(c2[2627],simde_mm256_xor_si256(c2[1662],c2[1422]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[420]=simde_mm256_xor_si256(c2[6],simde_mm256_xor_si256(c2[7445],simde_mm256_xor_si256(c2[2881],simde_mm256_xor_si256(c2[2401],simde_mm256_xor_si256(c2[4587],simde_mm256_xor_si256(c2[4347],simde_mm256_xor_si256(c2[748],simde_mm256_xor_si256(c2[6028],simde_mm256_xor_si256(c2[3146],simde_mm256_xor_si256(c2[5813],simde_mm256_xor_si256(c2[5573],simde_mm256_xor_si256(c2[54],simde_mm256_xor_si256(c2[4874],simde_mm256_xor_si256(c2[4634],simde_mm256_xor_si256(c2[5113],simde_mm256_xor_si256(c2[1516],simde_mm256_xor_si256(c2[338],simde_mm256_xor_si256(c2[7539],simde_mm256_xor_si256(c2[580],simde_mm256_xor_si256(c2[3243],simde_mm256_xor_si256(c2[6122],simde_mm256_xor_si256(c2[5885],simde_mm256_xor_si256(c2[6146],simde_mm256_xor_si256(c2[5906],simde_mm256_xor_si256(c2[3985],simde_mm256_xor_si256(c2[3028],simde_mm256_xor_si256(c2[3054],simde_mm256_xor_si256(c2[1852],simde_mm256_xor_si256(c2[2598],simde_mm256_xor_si256(c2[916],simde_mm256_xor_si256(c2[3313],simde_mm256_xor_si256(c2[7421],simde_mm256_xor_si256(c2[7181],simde_mm256_xor_si256(c2[5016],c2[2862]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[432]=simde_mm256_xor_si256(c2[6000],simde_mm256_xor_si256(c2[5572],c2[2573]));
|
|
|
|
//row: 37
|
|
d2[444]=simde_mm256_xor_si256(c2[4326],simde_mm256_xor_si256(c2[2886],simde_mm256_xor_si256(c2[7441],simde_mm256_xor_si256(c2[6001],simde_mm256_xor_si256(c2[6961],simde_mm256_xor_si256(c2[5521],simde_mm256_xor_si256(c2[1228],simde_mm256_xor_si256(c2[7467],simde_mm256_xor_si256(c2[5308],simde_mm256_xor_si256(c2[3868],simde_mm256_xor_si256(c2[2909],simde_mm256_xor_si256(c2[1709],simde_mm256_xor_si256(c2[1469],simde_mm256_xor_si256(c2[2454],simde_mm256_xor_si256(c2[1014],simde_mm256_xor_si256(c2[4614],simde_mm256_xor_si256(c2[3414],simde_mm256_xor_si256(c2[3174],simde_mm256_xor_si256(c2[1515],simde_mm256_xor_si256(c2[75],simde_mm256_xor_si256(c2[1994],simde_mm256_xor_si256(c2[554],simde_mm256_xor_si256(c2[6076],simde_mm256_xor_si256(c2[4636],simde_mm256_xor_si256(c2[4898],simde_mm256_xor_si256(c2[3458],simde_mm256_xor_si256(c2[4420],simde_mm256_xor_si256(c2[2980],simde_mm256_xor_si256(c2[5140],simde_mm256_xor_si256(c2[3940],simde_mm256_xor_si256(c2[3700],simde_mm256_xor_si256(c2[124],simde_mm256_xor_si256(c2[6363],simde_mm256_xor_si256(c2[3003],simde_mm256_xor_si256(c2[1803],simde_mm256_xor_si256(c2[1563],simde_mm256_xor_si256(c2[2787],simde_mm256_xor_si256(c2[1347],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[7105],simde_mm256_xor_si256(c2[7588],simde_mm256_xor_si256(c2[6388],simde_mm256_xor_si256(c2[6148],simde_mm256_xor_si256(c2[7614],simde_mm256_xor_si256(c2[6174],simde_mm256_xor_si256(c2[6412],simde_mm256_xor_si256(c2[5212],simde_mm256_xor_si256(c2[4972],simde_mm256_xor_si256(c2[7158],simde_mm256_xor_si256(c2[5718],simde_mm256_xor_si256(c2[5476],simde_mm256_xor_si256(c2[4036],simde_mm256_xor_si256(c2[194],simde_mm256_xor_si256(c2[6673],simde_mm256_xor_si256(c2[6433],simde_mm256_xor_si256(c2[4062],simde_mm256_xor_si256(c2[2622],simde_mm256_xor_si256(c2[1897],simde_mm256_xor_si256(c2[457],simde_mm256_xor_si256(c2[7422],simde_mm256_xor_si256(c2[6222],c2[5982])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[456]=simde_mm256_xor_si256(c2[2891],simde_mm256_xor_si256(c2[2651],simde_mm256_xor_si256(c2[5766],simde_mm256_xor_si256(c2[5286],simde_mm256_xor_si256(c2[7472],simde_mm256_xor_si256(c2[7232],simde_mm256_xor_si256(c2[3633],simde_mm256_xor_si256(c2[1234],simde_mm256_xor_si256(c2[4826],simde_mm256_xor_si256(c2[1019],simde_mm256_xor_si256(c2[779],simde_mm256_xor_si256(c2[2939],simde_mm256_xor_si256(c2[80],simde_mm256_xor_si256(c2[7519],simde_mm256_xor_si256(c2[319],simde_mm256_xor_si256(c2[4401],simde_mm256_xor_si256(c2[3223],simde_mm256_xor_si256(c2[2745],simde_mm256_xor_si256(c2[3465],simde_mm256_xor_si256(c2[6128],simde_mm256_xor_si256(c2[1328],simde_mm256_xor_si256(c2[5644],simde_mm256_xor_si256(c2[1352],simde_mm256_xor_si256(c2[1112],simde_mm256_xor_si256(c2[6870],simde_mm256_xor_si256(c2[5913],simde_mm256_xor_si256(c2[5939],simde_mm256_xor_si256(c2[4737],simde_mm256_xor_si256(c2[5483],simde_mm256_xor_si256(c2[3801],simde_mm256_xor_si256(c2[6198],simde_mm256_xor_si256(c2[2627],simde_mm256_xor_si256(c2[2387],simde_mm256_xor_si256(c2[222],c2[5747]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[468]=simde_mm256_xor_si256(c2[1687],simde_mm256_xor_si256(c2[1447],simde_mm256_xor_si256(c2[4802],simde_mm256_xor_si256(c2[4562],simde_mm256_xor_si256(c2[4082],simde_mm256_xor_si256(c2[6962],simde_mm256_xor_si256(c2[6268],simde_mm256_xor_si256(c2[6028],simde_mm256_xor_si256(c2[2429],simde_mm256_xor_si256(c2[30],simde_mm256_xor_si256(c2[7494],simde_mm256_xor_si256(c2[7254],simde_mm256_xor_si256(c2[1735],simde_mm256_xor_si256(c2[6555],simde_mm256_xor_si256(c2[6315],simde_mm256_xor_si256(c2[7034],simde_mm256_xor_si256(c2[6794],simde_mm256_xor_si256(c2[3197],simde_mm256_xor_si256(c2[2259],simde_mm256_xor_si256(c2[2019],simde_mm256_xor_si256(c2[1541],simde_mm256_xor_si256(c2[2261],simde_mm256_xor_si256(c2[5164],simde_mm256_xor_si256(c2[4924],simde_mm256_xor_si256(c2[124],simde_mm256_xor_si256(c2[148],simde_mm256_xor_si256(c2[7587],simde_mm256_xor_si256(c2[5906],simde_mm256_xor_si256(c2[5666],simde_mm256_xor_si256(c2[4709],simde_mm256_xor_si256(c2[4975],simde_mm256_xor_si256(c2[4735],simde_mm256_xor_si256(c2[3533],simde_mm256_xor_si256(c2[1132],simde_mm256_xor_si256(c2[4519],simde_mm256_xor_si256(c2[4279],simde_mm256_xor_si256(c2[2597],simde_mm256_xor_si256(c2[4994],simde_mm256_xor_si256(c2[1423],simde_mm256_xor_si256(c2[1183],simde_mm256_xor_si256(c2[6937],simde_mm256_xor_si256(c2[6697],c2[4543]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[480]=simde_mm256_xor_si256(c2[5768],simde_mm256_xor_si256(c2[3850],simde_mm256_xor_si256(c2[1204],simde_mm256_xor_si256(c2[6965],simde_mm256_xor_si256(c2[724],simde_mm256_xor_si256(c2[6485],simde_mm256_xor_si256(c2[2670],simde_mm256_xor_si256(c2[752],simde_mm256_xor_si256(c2[6750],simde_mm256_xor_si256(c2[4832],simde_mm256_xor_si256(c2[4351],simde_mm256_xor_si256(c2[2673],simde_mm256_xor_si256(c2[2433],simde_mm256_xor_si256(c2[3896],simde_mm256_xor_si256(c2[1978],simde_mm256_xor_si256(c2[6056],simde_mm256_xor_si256(c2[4378],simde_mm256_xor_si256(c2[4138],simde_mm256_xor_si256(c2[1731],simde_mm256_xor_si256(c2[2957],simde_mm256_xor_si256(c2[1039],simde_mm256_xor_si256(c2[3436],simde_mm256_xor_si256(c2[1518],simde_mm256_xor_si256(c2[7518],simde_mm256_xor_si256(c2[5600],simde_mm256_xor_si256(c2[6340],simde_mm256_xor_si256(c2[4422],simde_mm256_xor_si256(c2[5862],simde_mm256_xor_si256(c2[3944],simde_mm256_xor_si256(c2[6582],simde_mm256_xor_si256(c2[4904],simde_mm256_xor_si256(c2[4664],simde_mm256_xor_si256(c2[1566],simde_mm256_xor_si256(c2[7327],simde_mm256_xor_si256(c2[4445],simde_mm256_xor_si256(c2[2767],simde_mm256_xor_si256(c2[2527],simde_mm256_xor_si256(c2[4229],simde_mm256_xor_si256(c2[2311],simde_mm256_xor_si256(c2[2308],simde_mm256_xor_si256(c2[390],simde_mm256_xor_si256(c2[1351],simde_mm256_xor_si256(c2[7352],simde_mm256_xor_si256(c2[7112],simde_mm256_xor_si256(c2[1377],simde_mm256_xor_si256(c2[7138],simde_mm256_xor_si256(c2[175],simde_mm256_xor_si256(c2[6176],simde_mm256_xor_si256(c2[5936],simde_mm256_xor_si256(c2[921],simde_mm256_xor_si256(c2[6682],simde_mm256_xor_si256(c2[6918],simde_mm256_xor_si256(c2[5000],simde_mm256_xor_si256(c2[1636],simde_mm256_xor_si256(c2[7637],simde_mm256_xor_si256(c2[7397],simde_mm256_xor_si256(c2[5504],simde_mm256_xor_si256(c2[3586],simde_mm256_xor_si256(c2[3339],simde_mm256_xor_si256(c2[1421],simde_mm256_xor_si256(c2[1185],simde_mm256_xor_si256(c2[7186],c2[6946]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[492]=simde_mm256_xor_si256(c2[2407],simde_mm256_xor_si256(c2[2167],simde_mm256_xor_si256(c2[5282],simde_mm256_xor_si256(c2[4802],simde_mm256_xor_si256(c2[6988],simde_mm256_xor_si256(c2[6748],simde_mm256_xor_si256(c2[3149],simde_mm256_xor_si256(c2[750],simde_mm256_xor_si256(c2[4588],simde_mm256_xor_si256(c2[535],simde_mm256_xor_si256(c2[295],simde_mm256_xor_si256(c2[2455],simde_mm256_xor_si256(c2[7275],simde_mm256_xor_si256(c2[7035],simde_mm256_xor_si256(c2[7514],simde_mm256_xor_si256(c2[3917],simde_mm256_xor_si256(c2[2739],simde_mm256_xor_si256(c2[2261],simde_mm256_xor_si256(c2[2981],simde_mm256_xor_si256(c2[5644],simde_mm256_xor_si256(c2[844],simde_mm256_xor_si256(c2[1800],simde_mm256_xor_si256(c2[868],simde_mm256_xor_si256(c2[628],simde_mm256_xor_si256(c2[6386],simde_mm256_xor_si256(c2[5429],simde_mm256_xor_si256(c2[5455],simde_mm256_xor_si256(c2[4253],simde_mm256_xor_si256(c2[4999],simde_mm256_xor_si256(c2[3317],simde_mm256_xor_si256(c2[5714],simde_mm256_xor_si256(c2[2143],simde_mm256_xor_si256(c2[1903],simde_mm256_xor_si256(c2[7417],c2[5263]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|
|
#endif
|