Files
Raymond Knopp a7bc282302 First-level of support for new aarch64 machines
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
2023-09-13 17:19:20 +02:00

142 lines
46 KiB
C

#ifdef __AVX2__
#include "PHY/sse_intrin.h"
// generated code for Zc=352, byte encoding
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc352_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<11; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=simde_mm256_xor_si256(c2[5944],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[223],simde_mm256_xor_si256(c2[3106],simde_mm256_xor_si256(c2[1567],simde_mm256_xor_si256(c2[4423],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[2909],simde_mm256_xor_si256(c2[506],simde_mm256_xor_si256(c2[68],simde_mm256_xor_si256(c2[2269],simde_mm256_xor_si256(c2[6689],simde_mm256_xor_si256(c2[3830],simde_mm256_xor_si256(c2[2953],simde_mm256_xor_si256(c2[110],simde_mm256_xor_si256(c2[6713],simde_mm256_xor_si256(c2[1673],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[3652],simde_mm256_xor_si256(c2[1035],simde_mm256_xor_si256(c2[5436],simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[3040],simde_mm256_xor_si256(c2[3696],simde_mm256_xor_si256(c2[5921],simde_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))));
//row: 1
d2[11]=simde_mm256_xor_si256(c2[6164],simde_mm256_xor_si256(c2[5944],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[223],simde_mm256_xor_si256(c2[3326],simde_mm256_xor_si256(c2[3106],simde_mm256_xor_si256(c2[1567],simde_mm256_xor_si256(c2[4423],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[2909],simde_mm256_xor_si256(c2[726],simde_mm256_xor_si256(c2[506],simde_mm256_xor_si256(c2[68],simde_mm256_xor_si256(c2[2269],simde_mm256_xor_si256(c2[6689],simde_mm256_xor_si256(c2[3830],simde_mm256_xor_si256(c2[2953],simde_mm256_xor_si256(c2[110],simde_mm256_xor_si256(c2[6713],simde_mm256_xor_si256(c2[1893],simde_mm256_xor_si256(c2[1673],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[3652],simde_mm256_xor_si256(c2[1035],simde_mm256_xor_si256(c2[5436],simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[3040],simde_mm256_xor_si256(c2[3696],simde_mm256_xor_si256(c2[6141],simde_mm256_xor_si256(c2[5921],simde_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))))))))));
//row: 2
d2[22]=simde_mm256_xor_si256(c2[6164],simde_mm256_xor_si256(c2[5944],simde_mm256_xor_si256(c2[3740],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[223],simde_mm256_xor_si256(c2[3326],simde_mm256_xor_si256(c2[3106],simde_mm256_xor_si256(c2[1567],simde_mm256_xor_si256(c2[4423],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[2909],simde_mm256_xor_si256(c2[726],simde_mm256_xor_si256(c2[506],simde_mm256_xor_si256(c2[288],simde_mm256_xor_si256(c2[68],simde_mm256_xor_si256(c2[2269],simde_mm256_xor_si256(c2[6909],simde_mm256_xor_si256(c2[6689],simde_mm256_xor_si256(c2[3830],simde_mm256_xor_si256(c2[2953],simde_mm256_xor_si256(c2[330],simde_mm256_xor_si256(c2[110],simde_mm256_xor_si256(c2[6713],simde_mm256_xor_si256(c2[1893],simde_mm256_xor_si256(c2[1673],simde_mm256_xor_si256(c2[5193],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[3652],simde_mm256_xor_si256(c2[1255],simde_mm256_xor_si256(c2[1035],simde_mm256_xor_si256(c2[5436],simde_mm256_xor_si256(c2[2601],simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[3040],simde_mm256_xor_si256(c2[3696],simde_mm256_xor_si256(c2[6141],simde_mm256_xor_si256(c2[5921],simde_mm256_xor_si256(c2[1302],simde_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[33]=simde_mm256_xor_si256(c2[5944],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[223],simde_mm256_xor_si256(c2[3106],simde_mm256_xor_si256(c2[1567],simde_mm256_xor_si256(c2[4643],simde_mm256_xor_si256(c2[4423],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[3129],simde_mm256_xor_si256(c2[2909],simde_mm256_xor_si256(c2[506],simde_mm256_xor_si256(c2[68],simde_mm256_xor_si256(c2[2269],simde_mm256_xor_si256(c2[6689],simde_mm256_xor_si256(c2[3830],simde_mm256_xor_si256(c2[3173],simde_mm256_xor_si256(c2[2953],simde_mm256_xor_si256(c2[110],simde_mm256_xor_si256(c2[6933],simde_mm256_xor_si256(c2[6713],simde_mm256_xor_si256(c2[1673],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[3872],simde_mm256_xor_si256(c2[3652],simde_mm256_xor_si256(c2[1035],simde_mm256_xor_si256(c2[5656],simde_mm256_xor_si256(c2[5436],simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[3040],simde_mm256_xor_si256(c2[3916],simde_mm256_xor_si256(c2[3696],simde_mm256_xor_si256(c2[5921],simde_mm256_xor_si256(c2[1082],simde_mm256_xor_si256(c2[2181],c2[1961]))))))))))))))))))))))))))))))))));
//row: 4
d2[44]=simde_mm256_xor_si256(c2[3307],simde_mm256_xor_si256(c2[3087],simde_mm256_xor_si256(c2[663],simde_mm256_xor_si256(c2[4405],simde_mm256_xor_si256(c2[4842],simde_mm256_xor_si256(c2[469],simde_mm256_xor_si256(c2[249],simde_mm256_xor_si256(c2[5749],simde_mm256_xor_si256(c2[1566],simde_mm256_xor_si256(c2[684],simde_mm256_xor_si256(c2[267],simde_mm256_xor_si256(c2[47],simde_mm256_xor_si256(c2[52],simde_mm256_xor_si256(c2[4908],simde_mm256_xor_si256(c2[4688],simde_mm256_xor_si256(c2[4250],simde_mm256_xor_si256(c2[6451],simde_mm256_xor_si256(c2[3832],simde_mm256_xor_si256(c2[973],simde_mm256_xor_si256(c2[96],simde_mm256_xor_si256(c2[4292],simde_mm256_xor_si256(c2[3856],simde_mm256_xor_si256(c2[6075],simde_mm256_xor_si256(c2[5855],simde_mm256_xor_si256(c2[2116],simde_mm256_xor_si256(c2[795],simde_mm256_xor_si256(c2[5217],simde_mm256_xor_si256(c2[2579],simde_mm256_xor_si256(c2[6563],simde_mm256_xor_si256(c2[183],simde_mm256_xor_si256(c2[839],simde_mm256_xor_si256(c2[3284],simde_mm256_xor_si256(c2[3064],simde_mm256_xor_si256(c2[5264],c2[6143]))))))))))))))))))))))))))))))))));
//row: 5
d2[55]=simde_mm256_xor_si256(c2[5286],simde_mm256_xor_si256(c2[5066],simde_mm256_xor_si256(c2[2642],simde_mm256_xor_si256(c2[6384],simde_mm256_xor_si256(c2[3302],simde_mm256_xor_si256(c2[2448],simde_mm256_xor_si256(c2[2228],simde_mm256_xor_si256(c2[689],simde_mm256_xor_si256(c2[3545],simde_mm256_xor_si256(c2[4424],simde_mm256_xor_si256(c2[2246],simde_mm256_xor_si256(c2[2026],simde_mm256_xor_si256(c2[2031],simde_mm256_xor_si256(c2[6887],simde_mm256_xor_si256(c2[6667],simde_mm256_xor_si256(c2[6229],simde_mm256_xor_si256(c2[1391],simde_mm256_xor_si256(c2[5811],simde_mm256_xor_si256(c2[2952],simde_mm256_xor_si256(c2[2075],simde_mm256_xor_si256(c2[6271],simde_mm256_xor_si256(c2[5835],simde_mm256_xor_si256(c2[771],simde_mm256_xor_si256(c2[1015],simde_mm256_xor_si256(c2[795],simde_mm256_xor_si256(c2[4095],simde_mm256_xor_si256(c2[2774],simde_mm256_xor_si256(c2[157],simde_mm256_xor_si256(c2[4558],simde_mm256_xor_si256(c2[1697],simde_mm256_xor_si256(c2[1503],simde_mm256_xor_si256(c2[2162],simde_mm256_xor_si256(c2[2818],simde_mm256_xor_si256(c2[5263],simde_mm256_xor_si256(c2[5043],simde_mm256_xor_si256(c2[204],c2[1083]))))))))))))))))))))))))))))))))))));
//row: 6
d2[66]=simde_mm256_xor_si256(c2[5505],simde_mm256_xor_si256(c2[5285],simde_mm256_xor_si256(c2[2861],simde_mm256_xor_si256(c2[6603],simde_mm256_xor_si256(c2[3301],simde_mm256_xor_si256(c2[2667],simde_mm256_xor_si256(c2[2447],simde_mm256_xor_si256(c2[908],simde_mm256_xor_si256(c2[3764],simde_mm256_xor_si256(c2[2465],simde_mm256_xor_si256(c2[2245],simde_mm256_xor_si256(c2[2250],simde_mm256_xor_si256(c2[67],simde_mm256_xor_si256(c2[6886],simde_mm256_xor_si256(c2[6448],simde_mm256_xor_si256(c2[1610],simde_mm256_xor_si256(c2[6030],simde_mm256_xor_si256(c2[3171],simde_mm256_xor_si256(c2[2294],simde_mm256_xor_si256(c2[6490],simde_mm256_xor_si256(c2[6054],simde_mm256_xor_si256(c2[5834],simde_mm256_xor_si256(c2[1234],simde_mm256_xor_si256(c2[1014],simde_mm256_xor_si256(c2[4314],simde_mm256_xor_si256(c2[2993],simde_mm256_xor_si256(c2[376],simde_mm256_xor_si256(c2[4777],simde_mm256_xor_si256(c2[2354],simde_mm256_xor_si256(c2[1722],simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[3037],simde_mm256_xor_si256(c2[5482],simde_mm256_xor_si256(c2[5262],simde_mm256_xor_si256(c2[423],simde_mm256_xor_si256(c2[1302],c2[6142]))))))))))))))))))))))))))))))))))));
//row: 7
d2[77]=simde_mm256_xor_si256(c2[2426],simde_mm256_xor_si256(c2[2206],simde_mm256_xor_si256(c2[3966],simde_mm256_xor_si256(c2[6821],simde_mm256_xor_si256(c2[1542],simde_mm256_xor_si256(c2[3524],simde_mm256_xor_si256(c2[5284],simde_mm256_xor_si256(c2[6627],simde_mm256_xor_si256(c2[6407],simde_mm256_xor_si256(c2[1128],simde_mm256_xor_si256(c2[4868],simde_mm256_xor_si256(c2[6628],simde_mm256_xor_si256(c2[685],simde_mm256_xor_si256(c2[2665],simde_mm256_xor_si256(c2[2445],simde_mm256_xor_si256(c2[3543],simde_mm256_xor_si256(c2[6425],simde_mm256_xor_si256(c2[6205],simde_mm256_xor_si256(c2[926],simde_mm256_xor_si256(c2[6210],simde_mm256_xor_si256(c2[1151],simde_mm256_xor_si256(c2[931],simde_mm256_xor_si256(c2[4027],simde_mm256_xor_si256(c2[3807],simde_mm256_xor_si256(c2[5567],simde_mm256_xor_si256(c2[3369],simde_mm256_xor_si256(c2[5129],simde_mm256_xor_si256(c2[5570],simde_mm256_xor_si256(c2[291],simde_mm256_xor_si256(c2[2951],simde_mm256_xor_si256(c2[4711],simde_mm256_xor_si256(c2[92],simde_mm256_xor_si256(c2[1852],simde_mm256_xor_si256(c2[6254],simde_mm256_xor_si256(c2[1195],simde_mm256_xor_si256(c2[975],simde_mm256_xor_si256(c2[3411],simde_mm256_xor_si256(c2[5171],simde_mm256_xor_si256(c2[2975],simde_mm256_xor_si256(c2[4955],simde_mm256_xor_si256(c2[4735],simde_mm256_xor_si256(c2[6493],simde_mm256_xor_si256(c2[5194],simde_mm256_xor_si256(c2[4974],simde_mm256_xor_si256(c2[6734],simde_mm256_xor_si256(c2[1235],simde_mm256_xor_si256(c2[2995],simde_mm256_xor_si256(c2[6953],simde_mm256_xor_si256(c2[1894],simde_mm256_xor_si256(c2[1674],simde_mm256_xor_si256(c2[4336],simde_mm256_xor_si256(c2[6096],simde_mm256_xor_si256(c2[1698],simde_mm256_xor_si256(c2[3678],simde_mm256_xor_si256(c2[3458],simde_mm256_xor_si256(c2[5434],simde_mm256_xor_si256(c2[5682],simde_mm256_xor_si256(c2[403],simde_mm256_xor_si256(c2[6341],simde_mm256_xor_si256(c2[1062],simde_mm256_xor_si256(c2[6997],simde_mm256_xor_si256(c2[1938],simde_mm256_xor_si256(c2[1718],simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[2183],simde_mm256_xor_si256(c2[3943],simde_mm256_xor_si256(c2[4383],simde_mm256_xor_si256(c2[6143],simde_mm256_xor_si256(c2[5262],simde_mm256_xor_si256(c2[203],c2[7022]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[88]=simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[6169],simde_mm256_xor_si256(c2[3965],simde_mm256_xor_si256(c2[3745],simde_mm256_xor_si256(c2[448],simde_mm256_xor_si256(c2[4621],simde_mm256_xor_si256(c2[3551],simde_mm256_xor_si256(c2[3331],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[4648],simde_mm256_xor_si256(c2[6842],simde_mm256_xor_si256(c2[3349],simde_mm256_xor_si256(c2[3129],simde_mm256_xor_si256(c2[3134],simde_mm256_xor_si256(c2[951],simde_mm256_xor_si256(c2[731],simde_mm256_xor_si256(c2[513],simde_mm256_xor_si256(c2[293],simde_mm256_xor_si256(c2[2494],simde_mm256_xor_si256(c2[95],simde_mm256_xor_si256(c2[6914],simde_mm256_xor_si256(c2[4055],simde_mm256_xor_si256(c2[3178],simde_mm256_xor_si256(c2[555],simde_mm256_xor_si256(c2[335],simde_mm256_xor_si256(c2[6938],simde_mm256_xor_si256(c2[2118],simde_mm256_xor_si256(c2[1898],simde_mm256_xor_si256(c2[5418],simde_mm256_xor_si256(c2[5198],simde_mm256_xor_si256(c2[3877],simde_mm256_xor_si256(c2[1480],simde_mm256_xor_si256(c2[1260],simde_mm256_xor_si256(c2[5661],simde_mm256_xor_si256(c2[2826],simde_mm256_xor_si256(c2[2606],simde_mm256_xor_si256(c2[3265],simde_mm256_xor_si256(c2[3921],simde_mm256_xor_si256(c2[6366],simde_mm256_xor_si256(c2[6146],simde_mm256_xor_si256(c2[1527],simde_mm256_xor_si256(c2[1307],c2[2186]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[99]=simde_mm256_xor_si256(c2[6607],simde_mm256_xor_si256(c2[6166],simde_mm256_xor_si256(c2[5946],simde_mm256_xor_si256(c2[4183],simde_mm256_xor_si256(c2[3522],simde_mm256_xor_si256(c2[886],simde_mm256_xor_si256(c2[225],simde_mm256_xor_si256(c2[3769],simde_mm256_xor_si256(c2[3328],simde_mm256_xor_si256(c2[3108],simde_mm256_xor_si256(c2[2230],simde_mm256_xor_si256(c2[1569],simde_mm256_xor_si256(c2[5086],simde_mm256_xor_si256(c2[4425],simde_mm256_xor_si256(c2[1785],simde_mm256_xor_si256(c2[3567],simde_mm256_xor_si256(c2[3126],simde_mm256_xor_si256(c2[2906],simde_mm256_xor_si256(c2[3572],simde_mm256_xor_si256(c2[2911],simde_mm256_xor_si256(c2[1169],simde_mm256_xor_si256(c2[728],simde_mm256_xor_si256(c2[508],simde_mm256_xor_si256(c2[731],simde_mm256_xor_si256(c2[70],simde_mm256_xor_si256(c2[2932],simde_mm256_xor_si256(c2[2271],simde_mm256_xor_si256(c2[313],simde_mm256_xor_si256(c2[6691],simde_mm256_xor_si256(c2[4493],simde_mm256_xor_si256(c2[3832],simde_mm256_xor_si256(c2[3616],simde_mm256_xor_si256(c2[2955],simde_mm256_xor_si256(c2[773],simde_mm256_xor_si256(c2[112],simde_mm256_xor_si256(c2[337],simde_mm256_xor_si256(c2[6715],simde_mm256_xor_si256(c2[2336],simde_mm256_xor_si256(c2[1895],simde_mm256_xor_si256(c2[1675],simde_mm256_xor_si256(c2[5636],simde_mm256_xor_si256(c2[4975],simde_mm256_xor_si256(c2[4315],simde_mm256_xor_si256(c2[3654],simde_mm256_xor_si256(c2[1698],simde_mm256_xor_si256(c2[1037],simde_mm256_xor_si256(c2[6099],simde_mm256_xor_si256(c2[5438],simde_mm256_xor_si256(c2[3044],simde_mm256_xor_si256(c2[2383],simde_mm256_xor_si256(c2[3703],simde_mm256_xor_si256(c2[3042],simde_mm256_xor_si256(c2[4359],simde_mm256_xor_si256(c2[3698],simde_mm256_xor_si256(c2[3260],simde_mm256_xor_si256(c2[6584],simde_mm256_xor_si256(c2[6143],simde_mm256_xor_si256(c2[5923],simde_mm256_xor_si256(c2[1745],simde_mm256_xor_si256(c2[1084],simde_mm256_xor_si256(c2[2624],c2[1963])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[110]=simde_mm256_xor_si256(c2[3303],simde_mm256_xor_si256(c2[5522],simde_mm256_xor_si256(c2[3217],c2[5214])));
//row: 11
d2[121]=simde_mm256_xor_si256(c2[1769],simde_mm256_xor_si256(c2[6384],simde_mm256_xor_si256(c2[3087],simde_mm256_xor_si256(c2[5942],simde_mm256_xor_si256(c2[5970],simde_mm256_xor_si256(c2[4431],simde_mm256_xor_si256(c2[468],simde_mm256_xor_si256(c2[248],simde_mm256_xor_si256(c2[5768],simde_mm256_xor_si256(c2[5993],simde_mm256_xor_si256(c2[5773],simde_mm256_xor_si256(c2[3370],simde_mm256_xor_si256(c2[2932],simde_mm256_xor_si256(c2[5133],simde_mm256_xor_si256(c2[2514],simde_mm256_xor_si256(c2[6694],simde_mm256_xor_si256(c2[6037],simde_mm256_xor_si256(c2[5817],simde_mm256_xor_si256(c2[2974],simde_mm256_xor_si256(c2[2758],simde_mm256_xor_si256(c2[2538],simde_mm256_xor_si256(c2[4537],simde_mm256_xor_si256(c2[798],simde_mm256_xor_si256(c2[6736],simde_mm256_xor_si256(c2[6516],simde_mm256_xor_si256(c2[3899],simde_mm256_xor_si256(c2[1481],simde_mm256_xor_si256(c2[1261],simde_mm256_xor_si256(c2[3459],simde_mm256_xor_si256(c2[5245],simde_mm256_xor_si256(c2[5904],simde_mm256_xor_si256(c2[6780],simde_mm256_xor_si256(c2[6560],simde_mm256_xor_si256(c2[1746],simde_mm256_xor_si256(c2[3946],simde_mm256_xor_si256(c2[5045],simde_mm256_xor_si256(c2[4825],c2[5478])))))))))))))))))))))))))))))))))))));
//row: 12
d2[132]=simde_mm256_xor_si256(c2[5],simde_mm256_xor_si256(c2[6824],simde_mm256_xor_si256(c2[4400],simde_mm256_xor_si256(c2[1103],simde_mm256_xor_si256(c2[4206],simde_mm256_xor_si256(c2[3986],simde_mm256_xor_si256(c2[2447],simde_mm256_xor_si256(c2[5303],simde_mm256_xor_si256(c2[5745],simde_mm256_xor_si256(c2[4004],simde_mm256_xor_si256(c2[3784],simde_mm256_xor_si256(c2[3789],simde_mm256_xor_si256(c2[1606],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[948],simde_mm256_xor_si256(c2[3149],simde_mm256_xor_si256(c2[2486],simde_mm256_xor_si256(c2[530],simde_mm256_xor_si256(c2[4710],simde_mm256_xor_si256(c2[3833],simde_mm256_xor_si256(c2[990],simde_mm256_xor_si256(c2[554],simde_mm256_xor_si256(c2[2773],simde_mm256_xor_si256(c2[2553],simde_mm256_xor_si256(c2[5853],simde_mm256_xor_si256(c2[4532],simde_mm256_xor_si256(c2[1915],simde_mm256_xor_si256(c2[6316],simde_mm256_xor_si256(c2[3261],simde_mm256_xor_si256(c2[3920],simde_mm256_xor_si256(c2[4576],simde_mm256_xor_si256(c2[7021],simde_mm256_xor_si256(c2[6801],simde_mm256_xor_si256(c2[1962],c2[2841]))))))))))))))))))))))))))))))))));
//row: 13
d2[143]=simde_mm256_xor_si256(c2[5728],simde_mm256_xor_si256(c2[3304],simde_mm256_xor_si256(c2[7],simde_mm256_xor_si256(c2[6380],simde_mm256_xor_si256(c2[2890],simde_mm256_xor_si256(c2[1351],simde_mm256_xor_si256(c2[4427],simde_mm256_xor_si256(c2[4207],simde_mm256_xor_si256(c2[5964],simde_mm256_xor_si256(c2[2688],simde_mm256_xor_si256(c2[2913],simde_mm256_xor_si256(c2[2693],simde_mm256_xor_si256(c2[290],simde_mm256_xor_si256(c2[6891],simde_mm256_xor_si256(c2[2053],simde_mm256_xor_si256(c2[6473],simde_mm256_xor_si256(c2[3614],simde_mm256_xor_si256(c2[2957],simde_mm256_xor_si256(c2[2737],simde_mm256_xor_si256(c2[6933],simde_mm256_xor_si256(c2[6717],simde_mm256_xor_si256(c2[6497],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[4757],simde_mm256_xor_si256(c2[3656],simde_mm256_xor_si256(c2[3436],simde_mm256_xor_si256(c2[819],simde_mm256_xor_si256(c2[5440],simde_mm256_xor_si256(c2[5220],simde_mm256_xor_si256(c2[2165],simde_mm256_xor_si256(c2[2824],simde_mm256_xor_si256(c2[3700],simde_mm256_xor_si256(c2[3480],simde_mm256_xor_si256(c2[6116],simde_mm256_xor_si256(c2[5705],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[1965],c2[1745])))))))))))))))))))))))))))))))))))));
//row: 14
d2[154]=simde_mm256_xor_si256(c2[885],simde_mm256_xor_si256(c2[665],simde_mm256_xor_si256(c2[230],simde_mm256_xor_si256(c2[5280],simde_mm256_xor_si256(c2[4845],simde_mm256_xor_si256(c2[1983],simde_mm256_xor_si256(c2[1548],simde_mm256_xor_si256(c2[5086],simde_mm256_xor_si256(c2[4866],simde_mm256_xor_si256(c2[4431],simde_mm256_xor_si256(c2[3327],simde_mm256_xor_si256(c2[2892],simde_mm256_xor_si256(c2[6183],simde_mm256_xor_si256(c2[5968],simde_mm256_xor_si256(c2[5748],simde_mm256_xor_si256(c2[2442],simde_mm256_xor_si256(c2[4884],simde_mm256_xor_si256(c2[4664],simde_mm256_xor_si256(c2[4229],simde_mm256_xor_si256(c2[4669],simde_mm256_xor_si256(c2[4454],simde_mm256_xor_si256(c2[4234],simde_mm256_xor_si256(c2[2486],simde_mm256_xor_si256(c2[2266],simde_mm256_xor_si256(c2[1831],simde_mm256_xor_si256(c2[1828],simde_mm256_xor_si256(c2[1393],simde_mm256_xor_si256(c2[4029],simde_mm256_xor_si256(c2[3594],simde_mm256_xor_si256(c2[1410],simde_mm256_xor_si256(c2[975],simde_mm256_xor_si256(c2[5590],simde_mm256_xor_si256(c2[5155],simde_mm256_xor_si256(c2[4713],simde_mm256_xor_si256(c2[4498],simde_mm256_xor_si256(c2[4278],simde_mm256_xor_si256(c2[1870],simde_mm256_xor_si256(c2[1435],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[1219],simde_mm256_xor_si256(c2[999],simde_mm256_xor_si256(c2[3653],simde_mm256_xor_si256(c2[3433],simde_mm256_xor_si256(c2[2998],simde_mm256_xor_si256(c2[6733],simde_mm256_xor_si256(c2[6298],simde_mm256_xor_si256(c2[5412],simde_mm256_xor_si256(c2[5197],simde_mm256_xor_si256(c2[4977],simde_mm256_xor_si256(c2[3876],simde_mm256_xor_si256(c2[2795],simde_mm256_xor_si256(c2[2360],simde_mm256_xor_si256(c2[157],simde_mm256_xor_si256(c2[6981],simde_mm256_xor_si256(c2[6761],simde_mm256_xor_si256(c2[4141],simde_mm256_xor_si256(c2[3706],simde_mm256_xor_si256(c2[4800],simde_mm256_xor_si256(c2[4365],simde_mm256_xor_si256(c2[5456],simde_mm256_xor_si256(c2[5241],simde_mm256_xor_si256(c2[5021],simde_mm256_xor_si256(c2[862],simde_mm256_xor_si256(c2[642],simde_mm256_xor_si256(c2[207],simde_mm256_xor_si256(c2[2842],simde_mm256_xor_si256(c2[2407],simde_mm256_xor_si256(c2[3721],simde_mm256_xor_si256(c2[3506],c2[3286])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[165]=simde_mm256_xor_si256(c2[448],simde_mm256_xor_si256(c2[886],simde_mm256_xor_si256(c2[666],simde_mm256_xor_si256(c2[5063],simde_mm256_xor_si256(c2[5281],simde_mm256_xor_si256(c2[1766],simde_mm256_xor_si256(c2[1984],simde_mm256_xor_si256(c2[1984],simde_mm256_xor_si256(c2[4649],simde_mm256_xor_si256(c2[5087],simde_mm256_xor_si256(c2[4867],simde_mm256_xor_si256(c2[3110],simde_mm256_xor_si256(c2[3328],simde_mm256_xor_si256(c2[5966],simde_mm256_xor_si256(c2[6184],simde_mm256_xor_si256(c2[4447],simde_mm256_xor_si256(c2[4885],simde_mm256_xor_si256(c2[4665],simde_mm256_xor_si256(c2[4452],simde_mm256_xor_si256(c2[4670],simde_mm256_xor_si256(c2[2049],simde_mm256_xor_si256(c2[2487],simde_mm256_xor_si256(c2[2267],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[1829],simde_mm256_xor_si256(c2[3812],simde_mm256_xor_si256(c2[4030],simde_mm256_xor_si256(c2[1193],simde_mm256_xor_si256(c2[1411],simde_mm256_xor_si256(c2[5373],simde_mm256_xor_si256(c2[5591],simde_mm256_xor_si256(c2[4496],simde_mm256_xor_si256(c2[4714],simde_mm256_xor_si256(c2[1653],simde_mm256_xor_si256(c2[1871],simde_mm256_xor_si256(c2[1217],simde_mm256_xor_si256(c2[1435],simde_mm256_xor_si256(c2[3216],simde_mm256_xor_si256(c2[3654],simde_mm256_xor_si256(c2[3434],simde_mm256_xor_si256(c2[6516],simde_mm256_xor_si256(c2[6734],simde_mm256_xor_si256(c2[5195],simde_mm256_xor_si256(c2[5413],simde_mm256_xor_si256(c2[2578],simde_mm256_xor_si256(c2[2796],simde_mm256_xor_si256(c2[6979],simde_mm256_xor_si256(c2[158],simde_mm256_xor_si256(c2[3924],simde_mm256_xor_si256(c2[4142],simde_mm256_xor_si256(c2[4583],simde_mm256_xor_si256(c2[4801],simde_mm256_xor_si256(c2[5239],simde_mm256_xor_si256(c2[5457],simde_mm256_xor_si256(c2[425],simde_mm256_xor_si256(c2[863],simde_mm256_xor_si256(c2[643],simde_mm256_xor_si256(c2[2625],simde_mm256_xor_si256(c2[2843],simde_mm256_xor_si256(c2[3504],c2[3722]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[176]=simde_mm256_xor_si256(c2[2865],simde_mm256_xor_si256(c2[2645],simde_mm256_xor_si256(c2[230],simde_mm256_xor_si256(c2[10],simde_mm256_xor_si256(c2[221],simde_mm256_xor_si256(c2[4845],simde_mm256_xor_si256(c2[4625],simde_mm256_xor_si256(c2[3963],simde_mm256_xor_si256(c2[1328],simde_mm256_xor_si256(c2[27],simde_mm256_xor_si256(c2[6846],simde_mm256_xor_si256(c2[4431],simde_mm256_xor_si256(c2[4211],simde_mm256_xor_si256(c2[5307],simde_mm256_xor_si256(c2[2672],simde_mm256_xor_si256(c2[1124],simde_mm256_xor_si256(c2[5528],simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[6864],simde_mm256_xor_si256(c2[6644],simde_mm256_xor_si256(c2[4229],simde_mm256_xor_si256(c2[4009],simde_mm256_xor_si256(c2[6649],simde_mm256_xor_si256(c2[4014],simde_mm256_xor_si256(c2[4466],simde_mm256_xor_si256(c2[4246],simde_mm256_xor_si256(c2[1831],simde_mm256_xor_si256(c2[1611],simde_mm256_xor_si256(c2[3808],simde_mm256_xor_si256(c2[1393],simde_mm256_xor_si256(c2[1173],simde_mm256_xor_si256(c2[6009],simde_mm256_xor_si256(c2[3374],simde_mm256_xor_si256(c2[3390],simde_mm256_xor_si256(c2[975],simde_mm256_xor_si256(c2[755],simde_mm256_xor_si256(c2[531],simde_mm256_xor_si256(c2[4935],simde_mm256_xor_si256(c2[6693],simde_mm256_xor_si256(c2[4058],simde_mm256_xor_si256(c2[3850],simde_mm256_xor_si256(c2[1435],simde_mm256_xor_si256(c2[1215],simde_mm256_xor_si256(c2[3414],simde_mm256_xor_si256(c2[779],simde_mm256_xor_si256(c2[5633],simde_mm256_xor_si256(c2[5413],simde_mm256_xor_si256(c2[2998],simde_mm256_xor_si256(c2[2778],simde_mm256_xor_si256(c2[1674],simde_mm256_xor_si256(c2[6298],simde_mm256_xor_si256(c2[6078],simde_mm256_xor_si256(c2[353],simde_mm256_xor_si256(c2[4757],simde_mm256_xor_si256(c2[4775],simde_mm256_xor_si256(c2[2360],simde_mm256_xor_si256(c2[2140],simde_mm256_xor_si256(c2[2137],simde_mm256_xor_si256(c2[6541],simde_mm256_xor_si256(c2[6121],simde_mm256_xor_si256(c2[3706],simde_mm256_xor_si256(c2[3486],simde_mm256_xor_si256(c2[6780],simde_mm256_xor_si256(c2[4145],simde_mm256_xor_si256(c2[397],simde_mm256_xor_si256(c2[4801],simde_mm256_xor_si256(c2[2842],simde_mm256_xor_si256(c2[2622],simde_mm256_xor_si256(c2[207],simde_mm256_xor_si256(c2[7026],simde_mm256_xor_si256(c2[4822],simde_mm256_xor_si256(c2[2407],simde_mm256_xor_si256(c2[2187],simde_mm256_xor_si256(c2[5701],simde_mm256_xor_si256(c2[3066],c2[6802])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[187]=simde_mm256_xor_si256(c2[5726],simde_mm256_xor_si256(c2[5506],simde_mm256_xor_si256(c2[6829],simde_mm256_xor_si256(c2[6609],simde_mm256_xor_si256(c2[3082],simde_mm256_xor_si256(c2[4405],simde_mm256_xor_si256(c2[4185],simde_mm256_xor_si256(c2[6824],simde_mm256_xor_si256(c2[888],simde_mm256_xor_si256(c2[2888],simde_mm256_xor_si256(c2[2668],simde_mm256_xor_si256(c2[3991],simde_mm256_xor_si256(c2[3771],simde_mm256_xor_si256(c2[1129],simde_mm256_xor_si256(c2[2232],simde_mm256_xor_si256(c2[3985],simde_mm256_xor_si256(c2[5088],simde_mm256_xor_si256(c2[1346],simde_mm256_xor_si256(c2[2686],simde_mm256_xor_si256(c2[2466],simde_mm256_xor_si256(c2[3789],simde_mm256_xor_si256(c2[3569],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[3574],simde_mm256_xor_si256(c2[288],simde_mm256_xor_si256(c2[68],simde_mm256_xor_si256(c2[1391],simde_mm256_xor_si256(c2[1171],simde_mm256_xor_si256(c2[6669],simde_mm256_xor_si256(c2[953],simde_mm256_xor_si256(c2[733],simde_mm256_xor_si256(c2[1831],simde_mm256_xor_si256(c2[2934],simde_mm256_xor_si256(c2[6251],simde_mm256_xor_si256(c2[535],simde_mm256_xor_si256(c2[315],simde_mm256_xor_si256(c2[3392],simde_mm256_xor_si256(c2[4495],simde_mm256_xor_si256(c2[2515],simde_mm256_xor_si256(c2[3618],simde_mm256_xor_si256(c2[6711],simde_mm256_xor_si256(c2[995],simde_mm256_xor_si256(c2[775],simde_mm256_xor_si256(c2[6275],simde_mm256_xor_si256(c2[339],simde_mm256_xor_si256(c2[5170],simde_mm256_xor_si256(c2[1455],simde_mm256_xor_si256(c2[1235],simde_mm256_xor_si256(c2[2558],simde_mm256_xor_si256(c2[2338],simde_mm256_xor_si256(c2[4535],simde_mm256_xor_si256(c2[5858],simde_mm256_xor_si256(c2[5638],simde_mm256_xor_si256(c2[3214],simde_mm256_xor_si256(c2[4317],simde_mm256_xor_si256(c2[597],simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[1700],simde_mm256_xor_si256(c2[4998],simde_mm256_xor_si256(c2[6101],simde_mm256_xor_si256(c2[1943],simde_mm256_xor_si256(c2[3266],simde_mm256_xor_si256(c2[3046],simde_mm256_xor_si256(c2[2602],simde_mm256_xor_si256(c2[3705],simde_mm256_xor_si256(c2[3258],simde_mm256_xor_si256(c2[4361],simde_mm256_xor_si256(c2[5703],simde_mm256_xor_si256(c2[5483],simde_mm256_xor_si256(c2[6806],simde_mm256_xor_si256(c2[6586],simde_mm256_xor_si256(c2[644],simde_mm256_xor_si256(c2[1967],simde_mm256_xor_si256(c2[1747],simde_mm256_xor_si256(c2[1523],c2[2626])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[198]=simde_mm256_xor_si256(c2[2865],simde_mm256_xor_si256(c2[6952],c2[4994]));
//row: 19
d2[209]=simde_mm256_xor_si256(c2[2649],simde_mm256_xor_si256(c2[225],simde_mm256_xor_si256(c2[3967],simde_mm256_xor_si256(c2[2860],simde_mm256_xor_si256(c2[6850],simde_mm256_xor_si256(c2[5311],simde_mm256_xor_si256(c2[1128],simde_mm256_xor_si256(c2[1566],simde_mm256_xor_si256(c2[6648],simde_mm256_xor_si256(c2[6653],simde_mm256_xor_si256(c2[4250],simde_mm256_xor_si256(c2[3812],simde_mm256_xor_si256(c2[6013],simde_mm256_xor_si256(c2[3394],simde_mm256_xor_si256(c2[535],simde_mm256_xor_si256(c2[6697],simde_mm256_xor_si256(c2[3854],simde_mm256_xor_si256(c2[3418],simde_mm256_xor_si256(c2[5417],simde_mm256_xor_si256(c2[1678],simde_mm256_xor_si256(c2[357],simde_mm256_xor_si256(c2[4779],simde_mm256_xor_si256(c2[2141],simde_mm256_xor_si256(c2[6125],simde_mm256_xor_si256(c2[6784],simde_mm256_xor_si256(c2[401],simde_mm256_xor_si256(c2[2626],simde_mm256_xor_si256(c2[4826],c2[5705]))))))))))))))))))))))))))));
//row: 20
d2[220]=simde_mm256_xor_si256(c2[1990],simde_mm256_xor_si256(c2[1770],simde_mm256_xor_si256(c2[6385],simde_mm256_xor_si256(c2[3088],simde_mm256_xor_si256(c2[6191],simde_mm256_xor_si256(c2[5971],simde_mm256_xor_si256(c2[4432],simde_mm256_xor_si256(c2[249],simde_mm256_xor_si256(c2[26],simde_mm256_xor_si256(c2[5989],simde_mm256_xor_si256(c2[5769],simde_mm256_xor_si256(c2[5774],simde_mm256_xor_si256(c2[3591],simde_mm256_xor_si256(c2[3371],simde_mm256_xor_si256(c2[2933],simde_mm256_xor_si256(c2[5134],simde_mm256_xor_si256(c2[2515],simde_mm256_xor_si256(c2[6695],simde_mm256_xor_si256(c2[5818],simde_mm256_xor_si256(c2[4489],simde_mm256_xor_si256(c2[2975],simde_mm256_xor_si256(c2[2539],simde_mm256_xor_si256(c2[4758],simde_mm256_xor_si256(c2[4538],simde_mm256_xor_si256(c2[799],simde_mm256_xor_si256(c2[6517],simde_mm256_xor_si256(c2[3900],simde_mm256_xor_si256(c2[1262],simde_mm256_xor_si256(c2[5246],simde_mm256_xor_si256(c2[5905],simde_mm256_xor_si256(c2[6561],simde_mm256_xor_si256(c2[1967],simde_mm256_xor_si256(c2[1747],simde_mm256_xor_si256(c2[3947],c2[4826]))))))))))))))))))))))))))))))))));
//row: 21
d2[231]=simde_mm256_xor_si256(c2[666],simde_mm256_xor_si256(c2[5281],simde_mm256_xor_si256(c2[1984],simde_mm256_xor_si256(c2[6164],simde_mm256_xor_si256(c2[4867],simde_mm256_xor_si256(c2[3328],simde_mm256_xor_si256(c2[6404],simde_mm256_xor_si256(c2[6184],simde_mm256_xor_si256(c2[4665],simde_mm256_xor_si256(c2[4890],simde_mm256_xor_si256(c2[4670],simde_mm256_xor_si256(c2[2267],simde_mm256_xor_si256(c2[1829],simde_mm256_xor_si256(c2[4030],simde_mm256_xor_si256(c2[1411],simde_mm256_xor_si256(c2[5591],simde_mm256_xor_si256(c2[4934],simde_mm256_xor_si256(c2[4714],simde_mm256_xor_si256(c2[1871],simde_mm256_xor_si256(c2[1655],simde_mm256_xor_si256(c2[1435],simde_mm256_xor_si256(c2[3434],simde_mm256_xor_si256(c2[6734],simde_mm256_xor_si256(c2[5633],simde_mm256_xor_si256(c2[5413],simde_mm256_xor_si256(c2[2796],simde_mm256_xor_si256(c2[378],simde_mm256_xor_si256(c2[158],simde_mm256_xor_si256(c2[4142],simde_mm256_xor_si256(c2[4801],simde_mm256_xor_si256(c2[5677],simde_mm256_xor_si256(c2[5457],simde_mm256_xor_si256(c2[1501],simde_mm256_xor_si256(c2[643],simde_mm256_xor_si256(c2[2843],simde_mm256_xor_si256(c2[3942],c2[3722]))))))))))))))))))))))))))))))))))));
//row: 22
d2[242]=simde_mm256_xor_si256(c2[3982],c2[709]);
//row: 23
d2[253]=simde_mm256_xor_si256(c2[3083],simde_mm256_xor_si256(c2[950],c2[4954]));
//row: 24
d2[264]=simde_mm256_xor_si256(c2[3765],simde_mm256_xor_si256(c2[2687],c2[6579]));
//row: 25
d2[275]=simde_mm256_xor_si256(c2[1762],c2[1874]);
//row: 26
d2[286]=simde_mm256_xor_si256(c2[3746],simde_mm256_xor_si256(c2[3526],simde_mm256_xor_si256(c2[2649],simde_mm256_xor_si256(c2[1322],simde_mm256_xor_si256(c2[1102],simde_mm256_xor_si256(c2[225],simde_mm256_xor_si256(c2[4844],simde_mm256_xor_si256(c2[3967],simde_mm256_xor_si256(c2[908],simde_mm256_xor_si256(c2[688],simde_mm256_xor_si256(c2[6850],simde_mm256_xor_si256(c2[6188],simde_mm256_xor_si256(c2[5311],simde_mm256_xor_si256(c2[2005],simde_mm256_xor_si256(c2[1348],simde_mm256_xor_si256(c2[1128],simde_mm256_xor_si256(c2[706],simde_mm256_xor_si256(c2[486],simde_mm256_xor_si256(c2[6648],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[6873],simde_mm256_xor_si256(c2[6653],simde_mm256_xor_si256(c2[925],simde_mm256_xor_si256(c2[5347],simde_mm256_xor_si256(c2[5127],simde_mm256_xor_si256(c2[4250],simde_mm256_xor_si256(c2[4909],simde_mm256_xor_si256(c2[4689],simde_mm256_xor_si256(c2[3812],simde_mm256_xor_si256(c2[6890],simde_mm256_xor_si256(c2[6013],simde_mm256_xor_si256(c2[4491],simde_mm256_xor_si256(c2[4271],simde_mm256_xor_si256(c2[3394],simde_mm256_xor_si256(c2[1412],simde_mm256_xor_si256(c2[535],simde_mm256_xor_si256(c2[535],simde_mm256_xor_si256(c2[6917],simde_mm256_xor_si256(c2[6697],simde_mm256_xor_si256(c2[4951],simde_mm256_xor_si256(c2[4731],simde_mm256_xor_si256(c2[3854],simde_mm256_xor_si256(c2[4295],simde_mm256_xor_si256(c2[3638],simde_mm256_xor_si256(c2[3418],simde_mm256_xor_si256(c2[6514],simde_mm256_xor_si256(c2[6294],simde_mm256_xor_si256(c2[5417],simde_mm256_xor_si256(c2[2775],simde_mm256_xor_si256(c2[2555],simde_mm256_xor_si256(c2[1678],simde_mm256_xor_si256(c2[1234],simde_mm256_xor_si256(c2[577],simde_mm256_xor_si256(c2[357],simde_mm256_xor_si256(c2[5876],simde_mm256_xor_si256(c2[5656],simde_mm256_xor_si256(c2[4779],simde_mm256_xor_si256(c2[3018],simde_mm256_xor_si256(c2[2361],simde_mm256_xor_si256(c2[2141],simde_mm256_xor_si256(c2[1475],simde_mm256_xor_si256(c2[183],simde_mm256_xor_si256(c2[7002],simde_mm256_xor_si256(c2[6125],simde_mm256_xor_si256(c2[622],simde_mm256_xor_si256(c2[6784],simde_mm256_xor_si256(c2[1278],simde_mm256_xor_si256(c2[621],simde_mm256_xor_si256(c2[401],simde_mm256_xor_si256(c2[3723],simde_mm256_xor_si256(c2[3503],simde_mm256_xor_si256(c2[2626],simde_mm256_xor_si256(c2[5923],simde_mm256_xor_si256(c2[5703],simde_mm256_xor_si256(c2[4826],simde_mm256_xor_si256(c2[6582],simde_mm256_xor_si256(c2[5925],c2[5705])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[297]=simde_mm256_xor_si256(c2[2201],c2[1895]);
//row: 28
d2[308]=simde_mm256_xor_si256(c2[24],simde_mm256_xor_si256(c2[5324],c2[4734]));
//row: 29
d2[319]=simde_mm256_xor_si256(c2[2424],c2[313]);
//row: 30
d2[330]=simde_mm256_xor_si256(c2[4446],simde_mm256_xor_si256(c2[2975],simde_mm256_xor_si256(c2[6536],c2[6578])));
//row: 31
d2[341]=simde_mm256_xor_si256(c2[3309],simde_mm256_xor_si256(c2[885],simde_mm256_xor_si256(c2[4627],simde_mm256_xor_si256(c2[471],simde_mm256_xor_si256(c2[5971],simde_mm256_xor_si256(c2[2008],simde_mm256_xor_si256(c2[1788],simde_mm256_xor_si256(c2[4645],simde_mm256_xor_si256(c2[269],simde_mm256_xor_si256(c2[494],simde_mm256_xor_si256(c2[274],simde_mm256_xor_si256(c2[4910],simde_mm256_xor_si256(c2[4472],simde_mm256_xor_si256(c2[6673],simde_mm256_xor_si256(c2[4054],simde_mm256_xor_si256(c2[1195],simde_mm256_xor_si256(c2[538],simde_mm256_xor_si256(c2[318],simde_mm256_xor_si256(c2[4514],simde_mm256_xor_si256(c2[4298],simde_mm256_xor_si256(c2[4078],simde_mm256_xor_si256(c2[6077],simde_mm256_xor_si256(c2[2338],simde_mm256_xor_si256(c2[1237],simde_mm256_xor_si256(c2[1017],simde_mm256_xor_si256(c2[5439],simde_mm256_xor_si256(c2[3021],simde_mm256_xor_si256(c2[2801],simde_mm256_xor_si256(c2[6785],simde_mm256_xor_si256(c2[405],simde_mm256_xor_si256(c2[1281],simde_mm256_xor_si256(c2[1061],simde_mm256_xor_si256(c2[3286],simde_mm256_xor_si256(c2[5486],simde_mm256_xor_si256(c2[6585],c2[6365])))))))))))))))))))))))))))))))))));
//row: 32
d2[352]=simde_mm256_xor_si256(c2[2209],simde_mm256_xor_si256(c2[1989],simde_mm256_xor_si256(c2[6824],simde_mm256_xor_si256(c2[6604],simde_mm256_xor_si256(c2[3307],simde_mm256_xor_si256(c2[4403],simde_mm256_xor_si256(c2[6410],simde_mm256_xor_si256(c2[6190],simde_mm256_xor_si256(c2[4651],simde_mm256_xor_si256(c2[468],simde_mm256_xor_si256(c2[6208],simde_mm256_xor_si256(c2[5988],simde_mm256_xor_si256(c2[5993],simde_mm256_xor_si256(c2[3810],simde_mm256_xor_si256(c2[3590],simde_mm256_xor_si256(c2[3372],simde_mm256_xor_si256(c2[3152],simde_mm256_xor_si256(c2[5353],simde_mm256_xor_si256(c2[2954],simde_mm256_xor_si256(c2[2734],simde_mm256_xor_si256(c2[6914],simde_mm256_xor_si256(c2[6037],simde_mm256_xor_si256(c2[3414],simde_mm256_xor_si256(c2[3194],simde_mm256_xor_si256(c2[2758],simde_mm256_xor_si256(c2[2092],simde_mm256_xor_si256(c2[4977],simde_mm256_xor_si256(c2[4757],simde_mm256_xor_si256(c2[1238],simde_mm256_xor_si256(c2[1018],simde_mm256_xor_si256(c2[6736],simde_mm256_xor_si256(c2[4339],simde_mm256_xor_si256(c2[4119],simde_mm256_xor_si256(c2[1481],simde_mm256_xor_si256(c2[5685],simde_mm256_xor_si256(c2[5465],simde_mm256_xor_si256(c2[6124],simde_mm256_xor_si256(c2[6780],simde_mm256_xor_si256(c2[2186],simde_mm256_xor_si256(c2[1966],simde_mm256_xor_si256(c2[4386],simde_mm256_xor_si256(c2[4166],c2[5045]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[363]=simde_mm256_xor_si256(c2[5285],simde_mm256_xor_si256(c2[2861],simde_mm256_xor_si256(c2[6603],simde_mm256_xor_si256(c2[2447],simde_mm256_xor_si256(c2[908],simde_mm256_xor_si256(c2[3764],simde_mm256_xor_si256(c2[2245],simde_mm256_xor_si256(c2[2250],simde_mm256_xor_si256(c2[2027],simde_mm256_xor_si256(c2[6886],simde_mm256_xor_si256(c2[6448],simde_mm256_xor_si256(c2[1610],simde_mm256_xor_si256(c2[6030],simde_mm256_xor_si256(c2[3171],simde_mm256_xor_si256(c2[2294],simde_mm256_xor_si256(c2[6490],simde_mm256_xor_si256(c2[6054],simde_mm256_xor_si256(c2[1014],simde_mm256_xor_si256(c2[4314],simde_mm256_xor_si256(c2[2993],simde_mm256_xor_si256(c2[376],simde_mm256_xor_si256(c2[4777],simde_mm256_xor_si256(c2[2138],simde_mm256_xor_si256(c2[1722],simde_mm256_xor_si256(c2[2381],simde_mm256_xor_si256(c2[3037],simde_mm256_xor_si256(c2[5262],simde_mm256_xor_si256(c2[423],c2[1302]))))))))))))))))))))))))))));
//row: 34
d2[374]=simde_mm256_xor_si256(c2[1106],simde_mm256_xor_si256(c2[886],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[5721],simde_mm256_xor_si256(c2[5501],simde_mm256_xor_si256(c2[3965],simde_mm256_xor_si256(c2[2204],simde_mm256_xor_si256(c2[668],simde_mm256_xor_si256(c2[2420],simde_mm256_xor_si256(c2[5307],simde_mm256_xor_si256(c2[5087],simde_mm256_xor_si256(c2[3551],simde_mm256_xor_si256(c2[3548],simde_mm256_xor_si256(c2[2012],simde_mm256_xor_si256(c2[6404],simde_mm256_xor_si256(c2[5088],simde_mm256_xor_si256(c2[4868],simde_mm256_xor_si256(c2[5105],simde_mm256_xor_si256(c2[4885],simde_mm256_xor_si256(c2[3349],simde_mm256_xor_si256(c2[4890],simde_mm256_xor_si256(c2[3574],simde_mm256_xor_si256(c2[3354],simde_mm256_xor_si256(c2[2707],simde_mm256_xor_si256(c2[2487],simde_mm256_xor_si256(c2[951],simde_mm256_xor_si256(c2[2269],simde_mm256_xor_si256(c2[2049],simde_mm256_xor_si256(c2[513],simde_mm256_xor_si256(c2[4250],simde_mm256_xor_si256(c2[2714],simde_mm256_xor_si256(c2[1851],simde_mm256_xor_si256(c2[1631],simde_mm256_xor_si256(c2[95],simde_mm256_xor_si256(c2[5811],simde_mm256_xor_si256(c2[4275],simde_mm256_xor_si256(c2[4934],simde_mm256_xor_si256(c2[3618],simde_mm256_xor_si256(c2[3398],simde_mm256_xor_si256(c2[2311],simde_mm256_xor_si256(c2[2091],simde_mm256_xor_si256(c2[555],simde_mm256_xor_si256(c2[1655],simde_mm256_xor_si256(c2[339],simde_mm256_xor_si256(c2[119],simde_mm256_xor_si256(c2[3874],simde_mm256_xor_si256(c2[3654],simde_mm256_xor_si256(c2[2118],simde_mm256_xor_si256(c2[135],simde_mm256_xor_si256(c2[6954],simde_mm256_xor_si256(c2[5418],simde_mm256_xor_si256(c2[5633],simde_mm256_xor_si256(c2[4317],simde_mm256_xor_si256(c2[4097],simde_mm256_xor_si256(c2[3236],simde_mm256_xor_si256(c2[3016],simde_mm256_xor_si256(c2[1480],simde_mm256_xor_si256(c2[378],simde_mm256_xor_si256(c2[6101],simde_mm256_xor_si256(c2[5881],simde_mm256_xor_si256(c2[4582],simde_mm256_xor_si256(c2[4362],simde_mm256_xor_si256(c2[2826],simde_mm256_xor_si256(c2[5021],simde_mm256_xor_si256(c2[3485],simde_mm256_xor_si256(c2[5677],simde_mm256_xor_si256(c2[4361],simde_mm256_xor_si256(c2[4141],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[863],simde_mm256_xor_si256(c2[6366],simde_mm256_xor_si256(c2[3283],simde_mm256_xor_si256(c2[3063],simde_mm256_xor_si256(c2[1527],simde_mm256_xor_si256(c2[3942],simde_mm256_xor_si256(c2[2626],c2[2406]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[385]=simde_mm256_xor_si256(c2[1770],simde_mm256_xor_si256(c2[1550],simde_mm256_xor_si256(c2[6165],simde_mm256_xor_si256(c2[2868],simde_mm256_xor_si256(c2[5971],simde_mm256_xor_si256(c2[5751],simde_mm256_xor_si256(c2[4212],simde_mm256_xor_si256(c2[29],simde_mm256_xor_si256(c2[6625],simde_mm256_xor_si256(c2[5769],simde_mm256_xor_si256(c2[5549],simde_mm256_xor_si256(c2[5554],simde_mm256_xor_si256(c2[3371],simde_mm256_xor_si256(c2[3151],simde_mm256_xor_si256(c2[2713],simde_mm256_xor_si256(c2[4914],simde_mm256_xor_si256(c2[2295],simde_mm256_xor_si256(c2[6475],simde_mm256_xor_si256(c2[5598],simde_mm256_xor_si256(c2[2755],simde_mm256_xor_si256(c2[2319],simde_mm256_xor_si256(c2[5394],simde_mm256_xor_si256(c2[4538],simde_mm256_xor_si256(c2[4318],simde_mm256_xor_si256(c2[579],simde_mm256_xor_si256(c2[6297],simde_mm256_xor_si256(c2[3680],simde_mm256_xor_si256(c2[1042],simde_mm256_xor_si256(c2[5026],simde_mm256_xor_si256(c2[5685],simde_mm256_xor_si256(c2[6341],simde_mm256_xor_si256(c2[1747],simde_mm256_xor_si256(c2[1527],simde_mm256_xor_si256(c2[3727],c2[4606]))))))))))))))))))))))))))))))))));
//row: 36
d2[396]=simde_mm256_xor_si256(c2[1982],simde_mm256_xor_si256(c2[5768],c2[378]));
//row: 37
d2[407]=simde_mm256_xor_si256(c2[450],simde_mm256_xor_si256(c2[226],simde_mm256_xor_si256(c2[5065],simde_mm256_xor_si256(c2[4841],simde_mm256_xor_si256(c2[1768],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[4651],simde_mm256_xor_si256(c2[4427],simde_mm256_xor_si256(c2[3112],simde_mm256_xor_si256(c2[2888],simde_mm256_xor_si256(c2[5968],simde_mm256_xor_si256(c2[5964],simde_mm256_xor_si256(c2[5744],simde_mm256_xor_si256(c2[4449],simde_mm256_xor_si256(c2[4225],simde_mm256_xor_si256(c2[4454],simde_mm256_xor_si256(c2[4450],simde_mm256_xor_si256(c2[4230],simde_mm256_xor_si256(c2[2051],simde_mm256_xor_si256(c2[1827],simde_mm256_xor_si256(c2[1613],simde_mm256_xor_si256(c2[1389],simde_mm256_xor_si256(c2[3814],simde_mm256_xor_si256(c2[3590],simde_mm256_xor_si256(c2[1195],simde_mm256_xor_si256(c2[971],simde_mm256_xor_si256(c2[5375],simde_mm256_xor_si256(c2[5151],simde_mm256_xor_si256(c2[4498],simde_mm256_xor_si256(c2[4494],simde_mm256_xor_si256(c2[4274],simde_mm256_xor_si256(c2[1655],simde_mm256_xor_si256(c2[1431],simde_mm256_xor_si256(c2[1219],simde_mm256_xor_si256(c2[1215],simde_mm256_xor_si256(c2[995],simde_mm256_xor_si256(c2[3218],simde_mm256_xor_si256(c2[2994],simde_mm256_xor_si256(c2[6518],simde_mm256_xor_si256(c2[6294],simde_mm256_xor_si256(c2[5197],simde_mm256_xor_si256(c2[5193],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[2580],simde_mm256_xor_si256(c2[2356],simde_mm256_xor_si256(c2[6981],simde_mm256_xor_si256(c2[6977],simde_mm256_xor_si256(c2[6757],simde_mm256_xor_si256(c2[3926],simde_mm256_xor_si256(c2[3702],simde_mm256_xor_si256(c2[4585],simde_mm256_xor_si256(c2[4361],simde_mm256_xor_si256(c2[5241],simde_mm256_xor_si256(c2[5237],simde_mm256_xor_si256(c2[5017],simde_mm256_xor_si256(c2[427],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[2627],simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[3506],simde_mm256_xor_si256(c2[3502],c2[3282])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[418]=simde_mm256_xor_si256(c2[3305],simde_mm256_xor_si256(c2[3085],simde_mm256_xor_si256(c2[661],simde_mm256_xor_si256(c2[4403],simde_mm256_xor_si256(c2[467],simde_mm256_xor_si256(c2[247],simde_mm256_xor_si256(c2[5747],simde_mm256_xor_si256(c2[1564],simde_mm256_xor_si256(c2[3545],simde_mm256_xor_si256(c2[265],simde_mm256_xor_si256(c2[45],simde_mm256_xor_si256(c2[50],simde_mm256_xor_si256(c2[4906],simde_mm256_xor_si256(c2[4686],simde_mm256_xor_si256(c2[4248],simde_mm256_xor_si256(c2[6449],simde_mm256_xor_si256(c2[3830],simde_mm256_xor_si256(c2[971],simde_mm256_xor_si256(c2[94],simde_mm256_xor_si256(c2[4290],simde_mm256_xor_si256(c2[3854],simde_mm256_xor_si256(c2[1650],simde_mm256_xor_si256(c2[6073],simde_mm256_xor_si256(c2[5853],simde_mm256_xor_si256(c2[2114],simde_mm256_xor_si256(c2[793],simde_mm256_xor_si256(c2[5215],simde_mm256_xor_si256(c2[2577],simde_mm256_xor_si256(c2[6561],simde_mm256_xor_si256(c2[181],simde_mm256_xor_si256(c2[837],simde_mm256_xor_si256(c2[3282],simde_mm256_xor_si256(c2[3062],simde_mm256_xor_si256(c2[5262],c2[6141]))))))))))))))))))))))))))))))))));
//row: 39
d2[429]=simde_mm256_xor_si256(c2[1108],simde_mm256_xor_si256(c2[888],simde_mm256_xor_si256(c2[5723],simde_mm256_xor_si256(c2[5503],simde_mm256_xor_si256(c2[2206],simde_mm256_xor_si256(c2[2863],simde_mm256_xor_si256(c2[5309],simde_mm256_xor_si256(c2[5089],simde_mm256_xor_si256(c2[3550],simde_mm256_xor_si256(c2[6406],simde_mm256_xor_si256(c2[5107],simde_mm256_xor_si256(c2[4887],simde_mm256_xor_si256(c2[4892],simde_mm256_xor_si256(c2[2709],simde_mm256_xor_si256(c2[2489],simde_mm256_xor_si256(c2[2271],simde_mm256_xor_si256(c2[2051],simde_mm256_xor_si256(c2[4252],simde_mm256_xor_si256(c2[1853],simde_mm256_xor_si256(c2[1633],simde_mm256_xor_si256(c2[5813],simde_mm256_xor_si256(c2[4936],simde_mm256_xor_si256(c2[2313],simde_mm256_xor_si256(c2[2093],simde_mm256_xor_si256(c2[1657],simde_mm256_xor_si256(c2[3876],simde_mm256_xor_si256(c2[3656],simde_mm256_xor_si256(c2[137],simde_mm256_xor_si256(c2[6956],simde_mm256_xor_si256(c2[5635],simde_mm256_xor_si256(c2[3238],simde_mm256_xor_si256(c2[3018],simde_mm256_xor_si256(c2[380],simde_mm256_xor_si256(c2[1474],simde_mm256_xor_si256(c2[4584],simde_mm256_xor_si256(c2[4364],simde_mm256_xor_si256(c2[5023],simde_mm256_xor_si256(c2[5679],simde_mm256_xor_si256(c2[1085],simde_mm256_xor_si256(c2[865],simde_mm256_xor_si256(c2[3285],simde_mm256_xor_si256(c2[3065],c2[3944]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[440]=simde_mm256_xor_si256(c2[5069],simde_mm256_xor_si256(c2[2867],simde_mm256_xor_si256(c2[2645],simde_mm256_xor_si256(c2[443],simde_mm256_xor_si256(c2[6387],simde_mm256_xor_si256(c2[4185],simde_mm256_xor_si256(c2[2231],simde_mm256_xor_si256(c2[29],simde_mm256_xor_si256(c2[692],simde_mm256_xor_si256(c2[5529],simde_mm256_xor_si256(c2[3548],simde_mm256_xor_si256(c2[1566],simde_mm256_xor_si256(c2[1346],simde_mm256_xor_si256(c2[2029],simde_mm256_xor_si256(c2[6866],simde_mm256_xor_si256(c2[2034],simde_mm256_xor_si256(c2[52],simde_mm256_xor_si256(c2[6871],simde_mm256_xor_si256(c2[49],simde_mm256_xor_si256(c2[6670],simde_mm256_xor_si256(c2[4468],simde_mm256_xor_si256(c2[6232],simde_mm256_xor_si256(c2[4030],simde_mm256_xor_si256(c2[1394],simde_mm256_xor_si256(c2[6231],simde_mm256_xor_si256(c2[5814],simde_mm256_xor_si256(c2[3612],simde_mm256_xor_si256(c2[2955],simde_mm256_xor_si256(c2[753],simde_mm256_xor_si256(c2[2078],simde_mm256_xor_si256(c2[96],simde_mm256_xor_si256(c2[6915],simde_mm256_xor_si256(c2[6274],simde_mm256_xor_si256(c2[4072],simde_mm256_xor_si256(c2[5838],simde_mm256_xor_si256(c2[3856],simde_mm256_xor_si256(c2[3636],simde_mm256_xor_si256(c2[798],simde_mm256_xor_si256(c2[5635],simde_mm256_xor_si256(c2[4098],simde_mm256_xor_si256(c2[1896],simde_mm256_xor_si256(c2[2777],simde_mm256_xor_si256(c2[795],simde_mm256_xor_si256(c2[575],simde_mm256_xor_si256(c2[160],simde_mm256_xor_si256(c2[4997],simde_mm256_xor_si256(c2[4561],simde_mm256_xor_si256(c2[2579],simde_mm256_xor_si256(c2[2359],simde_mm256_xor_si256(c2[1506],simde_mm256_xor_si256(c2[6343],simde_mm256_xor_si256(c2[2165],simde_mm256_xor_si256(c2[7002],simde_mm256_xor_si256(c2[2821],simde_mm256_xor_si256(c2[839],simde_mm256_xor_si256(c2[619],simde_mm256_xor_si256(c2[5046],simde_mm256_xor_si256(c2[2844],simde_mm256_xor_si256(c2[207],simde_mm256_xor_si256(c2[5044],simde_mm256_xor_si256(c2[1086],simde_mm256_xor_si256(c2[6143],c2[5923]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[451]=simde_mm256_xor_si256(c2[885],simde_mm256_xor_si256(c2[665],simde_mm256_xor_si256(c2[5280],simde_mm256_xor_si256(c2[1983],simde_mm256_xor_si256(c2[5086],simde_mm256_xor_si256(c2[4866],simde_mm256_xor_si256(c2[3327],simde_mm256_xor_si256(c2[6183],simde_mm256_xor_si256(c2[906],simde_mm256_xor_si256(c2[4884],simde_mm256_xor_si256(c2[4664],simde_mm256_xor_si256(c2[4669],simde_mm256_xor_si256(c2[2486],simde_mm256_xor_si256(c2[2266],simde_mm256_xor_si256(c2[1828],simde_mm256_xor_si256(c2[4029],simde_mm256_xor_si256(c2[1410],simde_mm256_xor_si256(c2[5590],simde_mm256_xor_si256(c2[4713],simde_mm256_xor_si256(c2[1870],simde_mm256_xor_si256(c2[1434],simde_mm256_xor_si256(c2[1430],simde_mm256_xor_si256(c2[3653],simde_mm256_xor_si256(c2[3433],simde_mm256_xor_si256(c2[6733],simde_mm256_xor_si256(c2[5412],simde_mm256_xor_si256(c2[2795],simde_mm256_xor_si256(c2[157],simde_mm256_xor_si256(c2[4141],simde_mm256_xor_si256(c2[4800],simde_mm256_xor_si256(c2[5456],simde_mm256_xor_si256(c2[862],simde_mm256_xor_si256(c2[642],simde_mm256_xor_si256(c2[2842],c2[3721]))))))))))))))))))))))))))))))))));
}
}
#endif