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
141 lines
46 KiB
C
141 lines
46 KiB
C
#ifdef __AVX2__
|
|
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=320, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc320_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<10; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm256_xor_si256(c2[6209],simde_mm256_xor_si256(c2[1604],simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[6229],simde_mm256_xor_si256(c2[5822],simde_mm256_xor_si256(c2[1021],simde_mm256_xor_si256(c2[6249],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[6269],simde_mm256_xor_si256(c2[5463],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[6289],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[6309],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[6329],simde_mm256_xor_si256(c2[4722],simde_mm256_xor_si256(c2[2320],simde_mm256_xor_si256(c2[6349],simde_mm256_xor_si256(c2[4941],simde_mm256_xor_si256(c2[6369],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[4581],c2[2781]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[10]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[6209],simde_mm256_xor_si256(c2[1604],simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[6229],simde_mm256_xor_si256(c2[5822],simde_mm256_xor_si256(c2[1021],simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[6249],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[60],simde_mm256_xor_si256(c2[6269],simde_mm256_xor_si256(c2[5463],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[6289],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[6309],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[120],simde_mm256_xor_si256(c2[6329],simde_mm256_xor_si256(c2[4722],simde_mm256_xor_si256(c2[2320],simde_mm256_xor_si256(c2[6349],simde_mm256_xor_si256(c2[4941],simde_mm256_xor_si256(c2[6369],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[180],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[4581],c2[2781]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[20]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[6209],simde_mm256_xor_si256(c2[1804],simde_mm256_xor_si256(c2[1604],simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[6229],simde_mm256_xor_si256(c2[5822],simde_mm256_xor_si256(c2[1021],simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[6249],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[60],simde_mm256_xor_si256(c2[6269],simde_mm256_xor_si256(c2[5663],simde_mm256_xor_si256(c2[5463],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[80],simde_mm256_xor_si256(c2[6289],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[100],simde_mm256_xor_si256(c2[6309],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[120],simde_mm256_xor_si256(c2[6329],simde_mm256_xor_si256(c2[4922],simde_mm256_xor_si256(c2[4722],simde_mm256_xor_si256(c2[2320],simde_mm256_xor_si256(c2[140],simde_mm256_xor_si256(c2[6349],simde_mm256_xor_si256(c2[4941],simde_mm256_xor_si256(c2[160],simde_mm256_xor_si256(c2[6369],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[180],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[4781],simde_mm256_xor_si256(c2[4581],c2[2781]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[30]=simde_mm256_xor_si256(c2[6209],simde_mm256_xor_si256(c2[1604],simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[6229],simde_mm256_xor_si256(c2[5822],simde_mm256_xor_si256(c2[1221],simde_mm256_xor_si256(c2[1021],simde_mm256_xor_si256(c2[6249],simde_mm256_xor_si256(c2[3040],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[6269],simde_mm256_xor_si256(c2[5463],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[6289],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[1283],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[6309],simde_mm256_xor_si256(c2[3704],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[6329],simde_mm256_xor_si256(c2[4722],simde_mm256_xor_si256(c2[2520],simde_mm256_xor_si256(c2[2320],simde_mm256_xor_si256(c2[6349],simde_mm256_xor_si256(c2[5141],simde_mm256_xor_si256(c2[4941],simde_mm256_xor_si256(c2[6369],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[4361],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[2981],c2[2781]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[40]=simde_mm256_xor_si256(c2[5804],simde_mm256_xor_si256(c2[5604],simde_mm256_xor_si256(c2[1009],simde_mm256_xor_si256(c2[3205],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[5824],simde_mm256_xor_si256(c2[5624],simde_mm256_xor_si256(c2[5227],simde_mm256_xor_si256(c2[426],simde_mm256_xor_si256(c2[1624],simde_mm256_xor_si256(c2[5844],simde_mm256_xor_si256(c2[5644],simde_mm256_xor_si256(c2[2245],simde_mm256_xor_si256(c2[5864],simde_mm256_xor_si256(c2[5664],simde_mm256_xor_si256(c2[4868],simde_mm256_xor_si256(c2[6267],simde_mm256_xor_si256(c2[5684],simde_mm256_xor_si256(c2[1085],simde_mm256_xor_si256(c2[488],simde_mm256_xor_si256(c2[5704],simde_mm256_xor_si256(c2[2909],simde_mm256_xor_si256(c2[5924],simde_mm256_xor_si256(c2[5724],simde_mm256_xor_si256(c2[4127],simde_mm256_xor_si256(c2[1725],simde_mm256_xor_si256(c2[5744],simde_mm256_xor_si256(c2[4346],simde_mm256_xor_si256(c2[5764],simde_mm256_xor_si256(c2[1768],simde_mm256_xor_si256(c2[3566],simde_mm256_xor_si256(c2[5984],simde_mm256_xor_si256(c2[5784],simde_mm256_xor_si256(c2[3986],c2[2186]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[50]=simde_mm256_xor_si256(c2[2],simde_mm256_xor_si256(c2[6201],simde_mm256_xor_si256(c2[1606],simde_mm256_xor_si256(c2[3802],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[22],simde_mm256_xor_si256(c2[6221],simde_mm256_xor_si256(c2[5824],simde_mm256_xor_si256(c2[1023],simde_mm256_xor_si256(c2[624],simde_mm256_xor_si256(c2[42],simde_mm256_xor_si256(c2[6241],simde_mm256_xor_si256(c2[2842],simde_mm256_xor_si256(c2[62],simde_mm256_xor_si256(c2[6261],simde_mm256_xor_si256(c2[5465],simde_mm256_xor_si256(c2[465],simde_mm256_xor_si256(c2[6281],simde_mm256_xor_si256(c2[1682],simde_mm256_xor_si256(c2[1085],simde_mm256_xor_si256(c2[6301],simde_mm256_xor_si256(c2[3506],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[122],simde_mm256_xor_si256(c2[6321],simde_mm256_xor_si256(c2[4724],simde_mm256_xor_si256(c2[2322],simde_mm256_xor_si256(c2[6341],simde_mm256_xor_si256(c2[4943],simde_mm256_xor_si256(c2[2744],simde_mm256_xor_si256(c2[6361],simde_mm256_xor_si256(c2[2365],simde_mm256_xor_si256(c2[4163],simde_mm256_xor_si256(c2[182],simde_mm256_xor_si256(c2[6381],simde_mm256_xor_si256(c2[4583],c2[2783]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[60]=simde_mm256_xor_si256(c2[4004],simde_mm256_xor_si256(c2[3804],simde_mm256_xor_si256(c2[5608],simde_mm256_xor_si256(c2[1405],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[4024],simde_mm256_xor_si256(c2[3824],simde_mm256_xor_si256(c2[3427],simde_mm256_xor_si256(c2[5025],simde_mm256_xor_si256(c2[4044],simde_mm256_xor_si256(c2[3844],simde_mm256_xor_si256(c2[445],simde_mm256_xor_si256(c2[4064],simde_mm256_xor_si256(c2[3864],simde_mm256_xor_si256(c2[3068],simde_mm256_xor_si256(c2[4467],simde_mm256_xor_si256(c2[3884],simde_mm256_xor_si256(c2[5684],simde_mm256_xor_si256(c2[5087],simde_mm256_xor_si256(c2[3904],simde_mm256_xor_si256(c2[1109],simde_mm256_xor_si256(c2[5703],simde_mm256_xor_si256(c2[4124],simde_mm256_xor_si256(c2[3924],simde_mm256_xor_si256(c2[2327],simde_mm256_xor_si256(c2[6324],simde_mm256_xor_si256(c2[3944],simde_mm256_xor_si256(c2[2546],simde_mm256_xor_si256(c2[743],simde_mm256_xor_si256(c2[3964],simde_mm256_xor_si256(c2[6367],simde_mm256_xor_si256(c2[1766],simde_mm256_xor_si256(c2[4184],simde_mm256_xor_si256(c2[3984],simde_mm256_xor_si256(c2[2186],simde_mm256_xor_si256(c2[386],c2[2781]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[70]=simde_mm256_xor_si256(c2[3],simde_mm256_xor_si256(c2[6202],simde_mm256_xor_si256(c2[2602],simde_mm256_xor_si256(c2[1607],simde_mm256_xor_si256(c2[4406],simde_mm256_xor_si256(c2[3803],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[23],simde_mm256_xor_si256(c2[6222],simde_mm256_xor_si256(c2[2622],simde_mm256_xor_si256(c2[5825],simde_mm256_xor_si256(c2[2225],simde_mm256_xor_si256(c2[1024],simde_mm256_xor_si256(c2[4023],simde_mm256_xor_si256(c2[3823],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[43],simde_mm256_xor_si256(c2[6242],simde_mm256_xor_si256(c2[2642],simde_mm256_xor_si256(c2[2843],simde_mm256_xor_si256(c2[5842],simde_mm256_xor_si256(c2[5642],simde_mm256_xor_si256(c2[63],simde_mm256_xor_si256(c2[6262],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[5466],simde_mm256_xor_si256(c2[1866],simde_mm256_xor_si256(c2[466],simde_mm256_xor_si256(c2[3265],simde_mm256_xor_si256(c2[6282],simde_mm256_xor_si256(c2[2682],simde_mm256_xor_si256(c2[1683],simde_mm256_xor_si256(c2[4482],simde_mm256_xor_si256(c2[1086],simde_mm256_xor_si256(c2[4085],simde_mm256_xor_si256(c2[3885],simde_mm256_xor_si256(c2[6302],simde_mm256_xor_si256(c2[2702],simde_mm256_xor_si256(c2[3507],simde_mm256_xor_si256(c2[107],simde_mm256_xor_si256(c2[6306],simde_mm256_xor_si256(c2[2701],simde_mm256_xor_si256(c2[123],simde_mm256_xor_si256(c2[6322],simde_mm256_xor_si256(c2[2722],simde_mm256_xor_si256(c2[4725],simde_mm256_xor_si256(c2[1125],simde_mm256_xor_si256(c2[2323],simde_mm256_xor_si256(c2[5322],simde_mm256_xor_si256(c2[5122],simde_mm256_xor_si256(c2[6342],simde_mm256_xor_si256(c2[2742],simde_mm256_xor_si256(c2[4944],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[1344],simde_mm256_xor_si256(c2[4144],simde_mm256_xor_si256(c2[6362],simde_mm256_xor_si256(c2[2762],simde_mm256_xor_si256(c2[2366],simde_mm256_xor_si256(c2[5165],simde_mm256_xor_si256(c2[4164],simde_mm256_xor_si256(c2[764],simde_mm256_xor_si256(c2[564],simde_mm256_xor_si256(c2[183],simde_mm256_xor_si256(c2[6382],simde_mm256_xor_si256(c2[2782],simde_mm256_xor_si256(c2[4584],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[2784],simde_mm256_xor_si256(c2[5783],c2[5583]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[80]=simde_mm256_xor_si256(c2[4602],simde_mm256_xor_si256(c2[4402],simde_mm256_xor_si256(c2[7],simde_mm256_xor_si256(c2[6206],simde_mm256_xor_si256(c2[2003],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[4622],simde_mm256_xor_si256(c2[4422],simde_mm256_xor_si256(c2[4025],simde_mm256_xor_si256(c2[5623],simde_mm256_xor_si256(c2[222],simde_mm256_xor_si256(c2[4642],simde_mm256_xor_si256(c2[4442],simde_mm256_xor_si256(c2[1043],simde_mm256_xor_si256(c2[4662],simde_mm256_xor_si256(c2[4462],simde_mm256_xor_si256(c2[3866],simde_mm256_xor_si256(c2[3666],simde_mm256_xor_si256(c2[5065],simde_mm256_xor_si256(c2[4682],simde_mm256_xor_si256(c2[4482],simde_mm256_xor_si256(c2[6282],simde_mm256_xor_si256(c2[5685],simde_mm256_xor_si256(c2[4702],simde_mm256_xor_si256(c2[4502],simde_mm256_xor_si256(c2[1707],simde_mm256_xor_si256(c2[4722],simde_mm256_xor_si256(c2[4522],simde_mm256_xor_si256(c2[3125],simde_mm256_xor_si256(c2[2925],simde_mm256_xor_si256(c2[523],simde_mm256_xor_si256(c2[4742],simde_mm256_xor_si256(c2[4542],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[4762],simde_mm256_xor_si256(c2[4562],simde_mm256_xor_si256(c2[566],simde_mm256_xor_si256(c2[2364],simde_mm256_xor_si256(c2[4782],simde_mm256_xor_si256(c2[4582],simde_mm256_xor_si256(c2[2984],simde_mm256_xor_si256(c2[2784],c2[984]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[90]=simde_mm256_xor_si256(c2[3601],simde_mm256_xor_si256(c2[4202],simde_mm256_xor_si256(c2[4002],simde_mm256_xor_si256(c2[5405],simde_mm256_xor_si256(c2[5806],simde_mm256_xor_si256(c2[1202],simde_mm256_xor_si256(c2[1603],simde_mm256_xor_si256(c2[3621],simde_mm256_xor_si256(c2[4222],simde_mm256_xor_si256(c2[4022],simde_mm256_xor_si256(c2[3224],simde_mm256_xor_si256(c2[3625],simde_mm256_xor_si256(c2[4822],simde_mm256_xor_si256(c2[5223],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[3641],simde_mm256_xor_si256(c2[4242],simde_mm256_xor_si256(c2[4042],simde_mm256_xor_si256(c2[242],simde_mm256_xor_si256(c2[643],simde_mm256_xor_si256(c2[3661],simde_mm256_xor_si256(c2[4262],simde_mm256_xor_si256(c2[4062],simde_mm256_xor_si256(c2[2865],simde_mm256_xor_si256(c2[3266],simde_mm256_xor_si256(c2[4264],simde_mm256_xor_si256(c2[4665],simde_mm256_xor_si256(c2[3681],simde_mm256_xor_si256(c2[4082],simde_mm256_xor_si256(c2[5481],simde_mm256_xor_si256(c2[5882],simde_mm256_xor_si256(c2[4884],simde_mm256_xor_si256(c2[5285],simde_mm256_xor_si256(c2[3701],simde_mm256_xor_si256(c2[4102],simde_mm256_xor_si256(c2[906],simde_mm256_xor_si256(c2[1307],simde_mm256_xor_si256(c2[3721],simde_mm256_xor_si256(c2[4322],simde_mm256_xor_si256(c2[4122],simde_mm256_xor_si256(c2[2124],simde_mm256_xor_si256(c2[2525],simde_mm256_xor_si256(c2[6121],simde_mm256_xor_si256(c2[123],simde_mm256_xor_si256(c2[3741],simde_mm256_xor_si256(c2[4142],simde_mm256_xor_si256(c2[2343],simde_mm256_xor_si256(c2[2744],simde_mm256_xor_si256(c2[3761],simde_mm256_xor_si256(c2[4162],simde_mm256_xor_si256(c2[6164],simde_mm256_xor_si256(c2[166],simde_mm256_xor_si256(c2[1563],simde_mm256_xor_si256(c2[1964],simde_mm256_xor_si256(c2[363],simde_mm256_xor_si256(c2[3781],simde_mm256_xor_si256(c2[4382],simde_mm256_xor_si256(c2[4182],simde_mm256_xor_si256(c2[1983],simde_mm256_xor_si256(c2[2384],simde_mm256_xor_si256(c2[183],c2[584])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[100]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[3420],simde_mm256_xor_si256(c2[5724],c2[4140])));
|
|
|
|
//row: 11
|
|
d2[110]=simde_mm256_xor_si256(c2[200],simde_mm256_xor_si256(c2[2004],simde_mm256_xor_si256(c2[4200],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[220],simde_mm256_xor_si256(c2[6222],simde_mm256_xor_si256(c2[1621],simde_mm256_xor_si256(c2[1421],simde_mm256_xor_si256(c2[240],simde_mm256_xor_si256(c2[3440],simde_mm256_xor_si256(c2[3240],simde_mm256_xor_si256(c2[260],simde_mm256_xor_si256(c2[5863],simde_mm256_xor_si256(c2[863],simde_mm256_xor_si256(c2[280],simde_mm256_xor_si256(c2[2080],simde_mm256_xor_si256(c2[1683],simde_mm256_xor_si256(c2[1483],simde_mm256_xor_si256(c2[300],simde_mm256_xor_si256(c2[4104],simde_mm256_xor_si256(c2[3904],simde_mm256_xor_si256(c2[320],simde_mm256_xor_si256(c2[5122],simde_mm256_xor_si256(c2[2920],simde_mm256_xor_si256(c2[2720],simde_mm256_xor_si256(c2[340],simde_mm256_xor_si256(c2[5541],simde_mm256_xor_si256(c2[5341],simde_mm256_xor_si256(c2[1540],simde_mm256_xor_si256(c2[360],simde_mm256_xor_si256(c2[2763],simde_mm256_xor_si256(c2[4761],simde_mm256_xor_si256(c2[4561],simde_mm256_xor_si256(c2[380],simde_mm256_xor_si256(c2[4981],simde_mm256_xor_si256(c2[3381],simde_mm256_xor_si256(c2[3181],c2[980])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[120]=simde_mm256_xor_si256(c2[3201],simde_mm256_xor_si256(c2[3001],simde_mm256_xor_si256(c2[4805],simde_mm256_xor_si256(c2[602],simde_mm256_xor_si256(c2[3221],simde_mm256_xor_si256(c2[3021],simde_mm256_xor_si256(c2[2624],simde_mm256_xor_si256(c2[4222],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[3241],simde_mm256_xor_si256(c2[3041],simde_mm256_xor_si256(c2[6041],simde_mm256_xor_si256(c2[3261],simde_mm256_xor_si256(c2[3061],simde_mm256_xor_si256(c2[2265],simde_mm256_xor_si256(c2[3664],simde_mm256_xor_si256(c2[3463],simde_mm256_xor_si256(c2[3081],simde_mm256_xor_si256(c2[4881],simde_mm256_xor_si256(c2[4284],simde_mm256_xor_si256(c2[3101],simde_mm256_xor_si256(c2[306],simde_mm256_xor_si256(c2[3321],simde_mm256_xor_si256(c2[3121],simde_mm256_xor_si256(c2[1524],simde_mm256_xor_si256(c2[5521],simde_mm256_xor_si256(c2[3141],simde_mm256_xor_si256(c2[1743],simde_mm256_xor_si256(c2[3161],simde_mm256_xor_si256(c2[5564],simde_mm256_xor_si256(c2[963],simde_mm256_xor_si256(c2[3381],simde_mm256_xor_si256(c2[3181],simde_mm256_xor_si256(c2[1383],c2[5982]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[130]=simde_mm256_xor_si256(c2[5000],simde_mm256_xor_si256(c2[405],simde_mm256_xor_si256(c2[2601],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[5020],simde_mm256_xor_si256(c2[4623],simde_mm256_xor_si256(c2[22],simde_mm256_xor_si256(c2[6221],simde_mm256_xor_si256(c2[3223],simde_mm256_xor_si256(c2[5040],simde_mm256_xor_si256(c2[1841],simde_mm256_xor_si256(c2[1641],simde_mm256_xor_si256(c2[5060],simde_mm256_xor_si256(c2[4264],simde_mm256_xor_si256(c2[5663],simde_mm256_xor_si256(c2[5080],simde_mm256_xor_si256(c2[481],simde_mm256_xor_si256(c2[84],simde_mm256_xor_si256(c2[6283],simde_mm256_xor_si256(c2[5100],simde_mm256_xor_si256(c2[2505],simde_mm256_xor_si256(c2[2305],simde_mm256_xor_si256(c2[5120],simde_mm256_xor_si256(c2[3523],simde_mm256_xor_si256(c2[1321],simde_mm256_xor_si256(c2[1121],simde_mm256_xor_si256(c2[5140],simde_mm256_xor_si256(c2[3942],simde_mm256_xor_si256(c2[3742],simde_mm256_xor_si256(c2[5160],simde_mm256_xor_si256(c2[1164],simde_mm256_xor_si256(c2[3162],simde_mm256_xor_si256(c2[2962],simde_mm256_xor_si256(c2[1363],simde_mm256_xor_si256(c2[5180],simde_mm256_xor_si256(c2[3382],simde_mm256_xor_si256(c2[1782],c2[1582])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[140]=simde_mm256_xor_si256(c2[5001],simde_mm256_xor_si256(c2[4801],simde_mm256_xor_si256(c2[5200],simde_mm256_xor_si256(c2[206],simde_mm256_xor_si256(c2[605],simde_mm256_xor_si256(c2[2402],simde_mm256_xor_si256(c2[2801],simde_mm256_xor_si256(c2[5021],simde_mm256_xor_si256(c2[4821],simde_mm256_xor_si256(c2[5220],simde_mm256_xor_si256(c2[4424],simde_mm256_xor_si256(c2[4823],simde_mm256_xor_si256(c2[6022],simde_mm256_xor_si256(c2[222],simde_mm256_xor_si256(c2[22],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[5041],simde_mm256_xor_si256(c2[4841],simde_mm256_xor_si256(c2[5240],simde_mm256_xor_si256(c2[1442],simde_mm256_xor_si256(c2[2041],simde_mm256_xor_si256(c2[1841],simde_mm256_xor_si256(c2[5061],simde_mm256_xor_si256(c2[4861],simde_mm256_xor_si256(c2[5260],simde_mm256_xor_si256(c2[4065],simde_mm256_xor_si256(c2[4464],simde_mm256_xor_si256(c2[5464],simde_mm256_xor_si256(c2[5863],simde_mm256_xor_si256(c2[4881],simde_mm256_xor_si256(c2[5280],simde_mm256_xor_si256(c2[282],simde_mm256_xor_si256(c2[681],simde_mm256_xor_si256(c2[6084],simde_mm256_xor_si256(c2[284],simde_mm256_xor_si256(c2[84],simde_mm256_xor_si256(c2[4901],simde_mm256_xor_si256(c2[5300],simde_mm256_xor_si256(c2[2106],simde_mm256_xor_si256(c2[2705],simde_mm256_xor_si256(c2[2505],simde_mm256_xor_si256(c2[5121],simde_mm256_xor_si256(c2[4921],simde_mm256_xor_si256(c2[5320],simde_mm256_xor_si256(c2[3324],simde_mm256_xor_si256(c2[3723],simde_mm256_xor_si256(c2[922],simde_mm256_xor_si256(c2[1521],simde_mm256_xor_si256(c2[1321],simde_mm256_xor_si256(c2[2124],simde_mm256_xor_si256(c2[4941],simde_mm256_xor_si256(c2[5340],simde_mm256_xor_si256(c2[3543],simde_mm256_xor_si256(c2[4142],simde_mm256_xor_si256(c2[3942],simde_mm256_xor_si256(c2[4961],simde_mm256_xor_si256(c2[5360],simde_mm256_xor_si256(c2[965],simde_mm256_xor_si256(c2[1364],simde_mm256_xor_si256(c2[2763],simde_mm256_xor_si256(c2[3362],simde_mm256_xor_si256(c2[3162],simde_mm256_xor_si256(c2[5181],simde_mm256_xor_si256(c2[4981],simde_mm256_xor_si256(c2[5380],simde_mm256_xor_si256(c2[3183],simde_mm256_xor_si256(c2[3582],simde_mm256_xor_si256(c2[1383],simde_mm256_xor_si256(c2[1982],c2[1782])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[150]=simde_mm256_xor_si256(c2[1602],simde_mm256_xor_si256(c2[603],simde_mm256_xor_si256(c2[403],simde_mm256_xor_si256(c2[3406],simde_mm256_xor_si256(c2[2207],simde_mm256_xor_si256(c2[5602],simde_mm256_xor_si256(c2[4403],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[1622],simde_mm256_xor_si256(c2[623],simde_mm256_xor_si256(c2[423],simde_mm256_xor_si256(c2[1225],simde_mm256_xor_si256(c2[26],simde_mm256_xor_si256(c2[2823],simde_mm256_xor_si256(c2[1624],simde_mm256_xor_si256(c2[1642],simde_mm256_xor_si256(c2[643],simde_mm256_xor_si256(c2[443],simde_mm256_xor_si256(c2[4642],simde_mm256_xor_si256(c2[3443],simde_mm256_xor_si256(c2[1662],simde_mm256_xor_si256(c2[663],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[6066],simde_mm256_xor_si256(c2[2265],simde_mm256_xor_si256(c2[1066],simde_mm256_xor_si256(c2[1682],simde_mm256_xor_si256(c2[483],simde_mm256_xor_si256(c2[3482],simde_mm256_xor_si256(c2[2283],simde_mm256_xor_si256(c2[2885],simde_mm256_xor_si256(c2[1686],simde_mm256_xor_si256(c2[1702],simde_mm256_xor_si256(c2[503],simde_mm256_xor_si256(c2[5306],simde_mm256_xor_si256(c2[4107],simde_mm256_xor_si256(c2[1722],simde_mm256_xor_si256(c2[723],simde_mm256_xor_si256(c2[523],simde_mm256_xor_si256(c2[125],simde_mm256_xor_si256(c2[5325],simde_mm256_xor_si256(c2[4122],simde_mm256_xor_si256(c2[2923],simde_mm256_xor_si256(c2[1742],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[344],simde_mm256_xor_si256(c2[5544],simde_mm256_xor_si256(c2[1762],simde_mm256_xor_si256(c2[563],simde_mm256_xor_si256(c2[4165],simde_mm256_xor_si256(c2[2966],simde_mm256_xor_si256(c2[5963],simde_mm256_xor_si256(c2[4764],simde_mm256_xor_si256(c2[1782],simde_mm256_xor_si256(c2[783],simde_mm256_xor_si256(c2[583],simde_mm256_xor_si256(c2[6383],simde_mm256_xor_si256(c2[5184],simde_mm256_xor_si256(c2[4583],c2[3384]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[160]=simde_mm256_xor_si256(c2[3003],simde_mm256_xor_si256(c2[2803],simde_mm256_xor_si256(c2[3004],simde_mm256_xor_si256(c2[2804],simde_mm256_xor_si256(c2[4607],simde_mm256_xor_si256(c2[4808],simde_mm256_xor_si256(c2[4608],simde_mm256_xor_si256(c2[404],simde_mm256_xor_si256(c2[405],simde_mm256_xor_si256(c2[3023],simde_mm256_xor_si256(c2[2823],simde_mm256_xor_si256(c2[3024],simde_mm256_xor_si256(c2[2824],simde_mm256_xor_si256(c2[2426],simde_mm256_xor_si256(c2[2427],simde_mm256_xor_si256(c2[4024],simde_mm256_xor_si256(c2[4025],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[3043],simde_mm256_xor_si256(c2[2843],simde_mm256_xor_si256(c2[3044],simde_mm256_xor_si256(c2[2844],simde_mm256_xor_si256(c2[5843],simde_mm256_xor_si256(c2[5844],simde_mm256_xor_si256(c2[3063],simde_mm256_xor_si256(c2[2863],simde_mm256_xor_si256(c2[3064],simde_mm256_xor_si256(c2[2864],simde_mm256_xor_si256(c2[2067],simde_mm256_xor_si256(c2[2268],simde_mm256_xor_si256(c2[2068],simde_mm256_xor_si256(c2[3466],simde_mm256_xor_si256(c2[3467],simde_mm256_xor_si256(c2[2883],simde_mm256_xor_si256(c2[3084],simde_mm256_xor_si256(c2[2884],simde_mm256_xor_si256(c2[4683],simde_mm256_xor_si256(c2[4684],simde_mm256_xor_si256(c2[4086],simde_mm256_xor_si256(c2[4087],simde_mm256_xor_si256(c2[2903],simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[108],simde_mm256_xor_si256(c2[109],simde_mm256_xor_si256(c2[3123],simde_mm256_xor_si256(c2[2923],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[2924],simde_mm256_xor_si256(c2[1326],simde_mm256_xor_si256(c2[1527],simde_mm256_xor_si256(c2[1327],simde_mm256_xor_si256(c2[5323],simde_mm256_xor_si256(c2[5324],simde_mm256_xor_si256(c2[2943],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[2944],simde_mm256_xor_si256(c2[1545],simde_mm256_xor_si256(c2[1546],simde_mm256_xor_si256(c2[2963],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[2964],simde_mm256_xor_si256(c2[5366],simde_mm256_xor_si256(c2[5367],simde_mm256_xor_si256(c2[765],simde_mm256_xor_si256(c2[766],simde_mm256_xor_si256(c2[3183],simde_mm256_xor_si256(c2[2983],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[2984],simde_mm256_xor_si256(c2[1185],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[1186],simde_mm256_xor_si256(c2[5784],simde_mm256_xor_si256(c2[5785],c2[3182])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[170]=simde_mm256_xor_si256(c2[2603],simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[3600],simde_mm256_xor_si256(c2[3400],simde_mm256_xor_si256(c2[4207],simde_mm256_xor_si256(c2[5404],simde_mm256_xor_si256(c2[5204],simde_mm256_xor_si256(c2[4],simde_mm256_xor_si256(c2[1001],simde_mm256_xor_si256(c2[2623],simde_mm256_xor_si256(c2[2423],simde_mm256_xor_si256(c2[3620],simde_mm256_xor_si256(c2[3420],simde_mm256_xor_si256(c2[2026],simde_mm256_xor_si256(c2[3023],simde_mm256_xor_si256(c2[3624],simde_mm256_xor_si256(c2[4621],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[2643],simde_mm256_xor_si256(c2[2443],simde_mm256_xor_si256(c2[3640],simde_mm256_xor_si256(c2[3440],simde_mm256_xor_si256(c2[5443],simde_mm256_xor_si256(c2[41],simde_mm256_xor_si256(c2[2663],simde_mm256_xor_si256(c2[2463],simde_mm256_xor_si256(c2[3660],simde_mm256_xor_si256(c2[3460],simde_mm256_xor_si256(c2[1667],simde_mm256_xor_si256(c2[2864],simde_mm256_xor_si256(c2[2664],simde_mm256_xor_si256(c2[3066],simde_mm256_xor_si256(c2[4063],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[3680],simde_mm256_xor_si256(c2[3480],simde_mm256_xor_si256(c2[4283],simde_mm256_xor_si256(c2[5280],simde_mm256_xor_si256(c2[3686],simde_mm256_xor_si256(c2[4683],simde_mm256_xor_si256(c2[2503],simde_mm256_xor_si256(c2[3700],simde_mm256_xor_si256(c2[3500],simde_mm256_xor_si256(c2[6107],simde_mm256_xor_si256(c2[705],simde_mm256_xor_si256(c2[4900],simde_mm256_xor_si256(c2[2723],simde_mm256_xor_si256(c2[2523],simde_mm256_xor_si256(c2[3720],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[926],simde_mm256_xor_si256(c2[2123],simde_mm256_xor_si256(c2[1923],simde_mm256_xor_si256(c2[4923],simde_mm256_xor_si256(c2[5920],simde_mm256_xor_si256(c2[2543],simde_mm256_xor_si256(c2[3740],simde_mm256_xor_si256(c2[3540],simde_mm256_xor_si256(c2[1145],simde_mm256_xor_si256(c2[2142],simde_mm256_xor_si256(c2[2563],simde_mm256_xor_si256(c2[3760],simde_mm256_xor_si256(c2[3560],simde_mm256_xor_si256(c2[4966],simde_mm256_xor_si256(c2[5963],simde_mm256_xor_si256(c2[365],simde_mm256_xor_si256(c2[1362],simde_mm256_xor_si256(c2[2783],simde_mm256_xor_si256(c2[2583],simde_mm256_xor_si256(c2[3780],simde_mm256_xor_si256(c2[3580],simde_mm256_xor_si256(c2[785],simde_mm256_xor_si256(c2[1982],simde_mm256_xor_si256(c2[1782],simde_mm256_xor_si256(c2[5384],c2[6381])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[180]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[3720],c2[4542]));
|
|
|
|
//row: 19
|
|
d2[190]=simde_mm256_xor_si256(c2[5004],simde_mm256_xor_si256(c2[409],simde_mm256_xor_si256(c2[2605],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[5024],simde_mm256_xor_si256(c2[4627],simde_mm256_xor_si256(c2[6225],simde_mm256_xor_si256(c2[6024],simde_mm256_xor_si256(c2[5044],simde_mm256_xor_si256(c2[1645],simde_mm256_xor_si256(c2[5064],simde_mm256_xor_si256(c2[4268],simde_mm256_xor_si256(c2[5667],simde_mm256_xor_si256(c2[5084],simde_mm256_xor_si256(c2[485],simde_mm256_xor_si256(c2[6287],simde_mm256_xor_si256(c2[5104],simde_mm256_xor_si256(c2[2309],simde_mm256_xor_si256(c2[5124],simde_mm256_xor_si256(c2[3527],simde_mm256_xor_si256(c2[1125],simde_mm256_xor_si256(c2[5144],simde_mm256_xor_si256(c2[3746],simde_mm256_xor_si256(c2[5164],simde_mm256_xor_si256(c2[1168],simde_mm256_xor_si256(c2[2966],simde_mm256_xor_si256(c2[5184],simde_mm256_xor_si256(c2[3386],c2[1586]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[200]=simde_mm256_xor_si256(c2[1603],simde_mm256_xor_si256(c2[1403],simde_mm256_xor_si256(c2[3207],simde_mm256_xor_si256(c2[5403],simde_mm256_xor_si256(c2[1623],simde_mm256_xor_si256(c2[1423],simde_mm256_xor_si256(c2[1026],simde_mm256_xor_si256(c2[2624],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[1643],simde_mm256_xor_si256(c2[1443],simde_mm256_xor_si256(c2[4443],simde_mm256_xor_si256(c2[1663],simde_mm256_xor_si256(c2[1463],simde_mm256_xor_si256(c2[667],simde_mm256_xor_si256(c2[2066],simde_mm256_xor_si256(c2[1483],simde_mm256_xor_si256(c2[3283],simde_mm256_xor_si256(c2[2686],simde_mm256_xor_si256(c2[4084],simde_mm256_xor_si256(c2[1503],simde_mm256_xor_si256(c2[5107],simde_mm256_xor_si256(c2[1723],simde_mm256_xor_si256(c2[1523],simde_mm256_xor_si256(c2[6325],simde_mm256_xor_si256(c2[3923],simde_mm256_xor_si256(c2[1543],simde_mm256_xor_si256(c2[145],simde_mm256_xor_si256(c2[1563],simde_mm256_xor_si256(c2[3966],simde_mm256_xor_si256(c2[5764],simde_mm256_xor_si256(c2[1783],simde_mm256_xor_si256(c2[1583],simde_mm256_xor_si256(c2[6184],c2[4384]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[210]=simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[1805],simde_mm256_xor_si256(c2[4001],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[21],simde_mm256_xor_si256(c2[6023],simde_mm256_xor_si256(c2[1422],simde_mm256_xor_si256(c2[1222],simde_mm256_xor_si256(c2[41],simde_mm256_xor_si256(c2[3241],simde_mm256_xor_si256(c2[3041],simde_mm256_xor_si256(c2[61],simde_mm256_xor_si256(c2[5664],simde_mm256_xor_si256(c2[664],simde_mm256_xor_si256(c2[81],simde_mm256_xor_si256(c2[1881],simde_mm256_xor_si256(c2[1484],simde_mm256_xor_si256(c2[1284],simde_mm256_xor_si256(c2[101],simde_mm256_xor_si256(c2[3905],simde_mm256_xor_si256(c2[3705],simde_mm256_xor_si256(c2[121],simde_mm256_xor_si256(c2[4923],simde_mm256_xor_si256(c2[2721],simde_mm256_xor_si256(c2[2521],simde_mm256_xor_si256(c2[141],simde_mm256_xor_si256(c2[5342],simde_mm256_xor_si256(c2[5142],simde_mm256_xor_si256(c2[161],simde_mm256_xor_si256(c2[2564],simde_mm256_xor_si256(c2[4562],simde_mm256_xor_si256(c2[4362],simde_mm256_xor_si256(c2[3560],simde_mm256_xor_si256(c2[181],simde_mm256_xor_si256(c2[4782],simde_mm256_xor_si256(c2[3182],c2[2982]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[220]=simde_mm256_xor_si256(c2[20],c2[840]);
|
|
|
|
//row: 23
|
|
d2[230]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2262],c2[6104]));
|
|
|
|
//row: 24
|
|
d2[240]=simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[1042],c2[4782]));
|
|
|
|
//row: 25
|
|
d2[250]=simde_mm256_xor_si256(c2[0],c2[302]);
|
|
|
|
//row: 26
|
|
d2[260]=simde_mm256_xor_si256(c2[2600],simde_mm256_xor_si256(c2[2400],simde_mm256_xor_si256(c2[1200],simde_mm256_xor_si256(c2[4404],simde_mm256_xor_si256(c2[4204],simde_mm256_xor_si256(c2[3004],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[5200],simde_mm256_xor_si256(c2[2620],simde_mm256_xor_si256(c2[2420],simde_mm256_xor_si256(c2[1220],simde_mm256_xor_si256(c2[2023],simde_mm256_xor_si256(c2[823],simde_mm256_xor_si256(c2[3621],simde_mm256_xor_si256(c2[2621],simde_mm256_xor_si256(c2[2421],simde_mm256_xor_si256(c2[2640],simde_mm256_xor_si256(c2[2440],simde_mm256_xor_si256(c2[1240],simde_mm256_xor_si256(c2[5440],simde_mm256_xor_si256(c2[4440],simde_mm256_xor_si256(c2[4240],simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[2660],simde_mm256_xor_si256(c2[2460],simde_mm256_xor_si256(c2[1260],simde_mm256_xor_si256(c2[1864],simde_mm256_xor_si256(c2[1664],simde_mm256_xor_si256(c2[464],simde_mm256_xor_si256(c2[3063],simde_mm256_xor_si256(c2[1863],simde_mm256_xor_si256(c2[2680],simde_mm256_xor_si256(c2[2480],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[4280],simde_mm256_xor_si256(c2[3080],simde_mm256_xor_si256(c2[3683],simde_mm256_xor_si256(c2[2683],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[2700],simde_mm256_xor_si256(c2[2500],simde_mm256_xor_si256(c2[1300],simde_mm256_xor_si256(c2[6104],simde_mm256_xor_si256(c2[5104],simde_mm256_xor_si256(c2[4904],simde_mm256_xor_si256(c2[2720],simde_mm256_xor_si256(c2[2520],simde_mm256_xor_si256(c2[1320],simde_mm256_xor_si256(c2[1123],simde_mm256_xor_si256(c2[923],simde_mm256_xor_si256(c2[6122],simde_mm256_xor_si256(c2[4920],simde_mm256_xor_si256(c2[3920],simde_mm256_xor_si256(c2[3720],simde_mm256_xor_si256(c2[2740],simde_mm256_xor_si256(c2[2540],simde_mm256_xor_si256(c2[1340],simde_mm256_xor_si256(c2[1142],simde_mm256_xor_si256(c2[142],simde_mm256_xor_si256(c2[6341],simde_mm256_xor_si256(c2[943],simde_mm256_xor_si256(c2[2760],simde_mm256_xor_si256(c2[2560],simde_mm256_xor_si256(c2[1360],simde_mm256_xor_si256(c2[4963],simde_mm256_xor_si256(c2[3763],simde_mm256_xor_si256(c2[362],simde_mm256_xor_si256(c2[5761],simde_mm256_xor_si256(c2[5561],simde_mm256_xor_si256(c2[2780],simde_mm256_xor_si256(c2[2580],simde_mm256_xor_si256(c2[1380],simde_mm256_xor_si256(c2[982],simde_mm256_xor_si256(c2[782],simde_mm256_xor_si256(c2[5981],simde_mm256_xor_si256(c2[5381],simde_mm256_xor_si256(c2[4381],c2[4181])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[270]=simde_mm256_xor_si256(c2[0],c2[121]);
|
|
|
|
//row: 28
|
|
d2[280]=simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[6043],c2[2903]));
|
|
|
|
//row: 29
|
|
d2[290]=simde_mm256_xor_si256(c2[0],c2[5284]);
|
|
|
|
//row: 30
|
|
d2[300]=simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[701],simde_mm256_xor_si256(c2[3941],c2[1384])));
|
|
|
|
//row: 31
|
|
d2[310]=simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[5604],simde_mm256_xor_si256(c2[1401],simde_mm256_xor_si256(c2[3820],simde_mm256_xor_si256(c2[3423],simde_mm256_xor_si256(c2[5221],simde_mm256_xor_si256(c2[5021],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[3840],simde_mm256_xor_si256(c2[641],simde_mm256_xor_si256(c2[441],simde_mm256_xor_si256(c2[3860],simde_mm256_xor_si256(c2[3064],simde_mm256_xor_si256(c2[4463],simde_mm256_xor_si256(c2[3880],simde_mm256_xor_si256(c2[5680],simde_mm256_xor_si256(c2[5283],simde_mm256_xor_si256(c2[5083],simde_mm256_xor_si256(c2[3900],simde_mm256_xor_si256(c2[1305],simde_mm256_xor_si256(c2[1105],simde_mm256_xor_si256(c2[3920],simde_mm256_xor_si256(c2[2323],simde_mm256_xor_si256(c2[121],simde_mm256_xor_si256(c2[6320],simde_mm256_xor_si256(c2[3940],simde_mm256_xor_si256(c2[2742],simde_mm256_xor_si256(c2[2542],simde_mm256_xor_si256(c2[3960],simde_mm256_xor_si256(c2[6363],simde_mm256_xor_si256(c2[1962],simde_mm256_xor_si256(c2[1762],simde_mm256_xor_si256(c2[3980],simde_mm256_xor_si256(c2[2182],simde_mm256_xor_si256(c2[582],c2[382])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[320]=simde_mm256_xor_si256(c2[5203],simde_mm256_xor_si256(c2[5003],simde_mm256_xor_si256(c2[608],simde_mm256_xor_si256(c2[408],simde_mm256_xor_si256(c2[2604],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[5223],simde_mm256_xor_si256(c2[5023],simde_mm256_xor_si256(c2[4626],simde_mm256_xor_si256(c2[6224],simde_mm256_xor_si256(c2[5243],simde_mm256_xor_si256(c2[5043],simde_mm256_xor_si256(c2[1644],simde_mm256_xor_si256(c2[5263],simde_mm256_xor_si256(c2[5063],simde_mm256_xor_si256(c2[4467],simde_mm256_xor_si256(c2[4267],simde_mm256_xor_si256(c2[5666],simde_mm256_xor_si256(c2[5283],simde_mm256_xor_si256(c2[5083],simde_mm256_xor_si256(c2[484],simde_mm256_xor_si256(c2[6286],simde_mm256_xor_si256(c2[5303],simde_mm256_xor_si256(c2[5103],simde_mm256_xor_si256(c2[2308],simde_mm256_xor_si256(c2[4100],simde_mm256_xor_si256(c2[5323],simde_mm256_xor_si256(c2[5123],simde_mm256_xor_si256(c2[3726],simde_mm256_xor_si256(c2[3526],simde_mm256_xor_si256(c2[1124],simde_mm256_xor_si256(c2[5343],simde_mm256_xor_si256(c2[5143],simde_mm256_xor_si256(c2[3745],simde_mm256_xor_si256(c2[5363],simde_mm256_xor_si256(c2[5163],simde_mm256_xor_si256(c2[1167],simde_mm256_xor_si256(c2[2965],simde_mm256_xor_si256(c2[5383],simde_mm256_xor_si256(c2[5183],simde_mm256_xor_si256(c2[3585],simde_mm256_xor_si256(c2[3385],c2[1585]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[330]=simde_mm256_xor_si256(c2[2400],simde_mm256_xor_si256(c2[4204],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[2420],simde_mm256_xor_si256(c2[2023],simde_mm256_xor_si256(c2[3621],simde_mm256_xor_si256(c2[2440],simde_mm256_xor_si256(c2[5440],simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[2460],simde_mm256_xor_si256(c2[1664],simde_mm256_xor_si256(c2[3063],simde_mm256_xor_si256(c2[2480],simde_mm256_xor_si256(c2[4280],simde_mm256_xor_si256(c2[3683],simde_mm256_xor_si256(c2[2500],simde_mm256_xor_si256(c2[6104],simde_mm256_xor_si256(c2[2520],simde_mm256_xor_si256(c2[923],simde_mm256_xor_si256(c2[4920],simde_mm256_xor_si256(c2[2540],simde_mm256_xor_si256(c2[1142],simde_mm256_xor_si256(c2[4942],simde_mm256_xor_si256(c2[2560],simde_mm256_xor_si256(c2[4963],simde_mm256_xor_si256(c2[362],simde_mm256_xor_si256(c2[2580],simde_mm256_xor_si256(c2[782],c2[5381]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[340]=simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[3600],simde_mm256_xor_si256(c2[2602],simde_mm256_xor_si256(c2[5604],simde_mm256_xor_si256(c2[5404],simde_mm256_xor_si256(c2[4406],simde_mm256_xor_si256(c2[1201],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[3820],simde_mm256_xor_si256(c2[3620],simde_mm256_xor_si256(c2[2622],simde_mm256_xor_si256(c2[3223],simde_mm256_xor_si256(c2[2225],simde_mm256_xor_si256(c2[4821],simde_mm256_xor_si256(c2[4023],simde_mm256_xor_si256(c2[3823],simde_mm256_xor_si256(c2[3840],simde_mm256_xor_si256(c2[3640],simde_mm256_xor_si256(c2[2642],simde_mm256_xor_si256(c2[241],simde_mm256_xor_si256(c2[5842],simde_mm256_xor_si256(c2[5642],simde_mm256_xor_si256(c2[3860],simde_mm256_xor_si256(c2[3660],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[3064],simde_mm256_xor_si256(c2[2864],simde_mm256_xor_si256(c2[1866],simde_mm256_xor_si256(c2[4263],simde_mm256_xor_si256(c2[3265],simde_mm256_xor_si256(c2[3880],simde_mm256_xor_si256(c2[3680],simde_mm256_xor_si256(c2[2682],simde_mm256_xor_si256(c2[5480],simde_mm256_xor_si256(c2[4482],simde_mm256_xor_si256(c2[4883],simde_mm256_xor_si256(c2[4085],simde_mm256_xor_si256(c2[3885],simde_mm256_xor_si256(c2[3900],simde_mm256_xor_si256(c2[3700],simde_mm256_xor_si256(c2[2702],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[107],simde_mm256_xor_si256(c2[6306],simde_mm256_xor_si256(c2[3920],simde_mm256_xor_si256(c2[3720],simde_mm256_xor_si256(c2[2722],simde_mm256_xor_si256(c2[2323],simde_mm256_xor_si256(c2[2123],simde_mm256_xor_si256(c2[1125],simde_mm256_xor_si256(c2[6120],simde_mm256_xor_si256(c2[5322],simde_mm256_xor_si256(c2[5122],simde_mm256_xor_si256(c2[3940],simde_mm256_xor_si256(c2[3740],simde_mm256_xor_si256(c2[2742],simde_mm256_xor_si256(c2[2342],simde_mm256_xor_si256(c2[1544],simde_mm256_xor_si256(c2[1344],simde_mm256_xor_si256(c2[3960],simde_mm256_xor_si256(c2[3760],simde_mm256_xor_si256(c2[2762],simde_mm256_xor_si256(c2[6163],simde_mm256_xor_si256(c2[5165],simde_mm256_xor_si256(c2[1562],simde_mm256_xor_si256(c2[764],simde_mm256_xor_si256(c2[564],simde_mm256_xor_si256(c2[3980],simde_mm256_xor_si256(c2[3780],simde_mm256_xor_si256(c2[2782],simde_mm256_xor_si256(c2[2182],simde_mm256_xor_si256(c2[1982],simde_mm256_xor_si256(c2[984],simde_mm256_xor_si256(c2[182],simde_mm256_xor_si256(c2[5783],c2[5583]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[350]=simde_mm256_xor_si256(c2[1200],simde_mm256_xor_si256(c2[1000],simde_mm256_xor_si256(c2[2804],simde_mm256_xor_si256(c2[5000],simde_mm256_xor_si256(c2[1220],simde_mm256_xor_si256(c2[1020],simde_mm256_xor_si256(c2[623],simde_mm256_xor_si256(c2[2221],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[1240],simde_mm256_xor_si256(c2[1040],simde_mm256_xor_si256(c2[4040],simde_mm256_xor_si256(c2[1260],simde_mm256_xor_si256(c2[1060],simde_mm256_xor_si256(c2[264],simde_mm256_xor_si256(c2[1663],simde_mm256_xor_si256(c2[1080],simde_mm256_xor_si256(c2[2880],simde_mm256_xor_si256(c2[2283],simde_mm256_xor_si256(c2[1100],simde_mm256_xor_si256(c2[4704],simde_mm256_xor_si256(c2[5904],simde_mm256_xor_si256(c2[1320],simde_mm256_xor_si256(c2[1120],simde_mm256_xor_si256(c2[5922],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[1140],simde_mm256_xor_si256(c2[6141],simde_mm256_xor_si256(c2[1160],simde_mm256_xor_si256(c2[3563],simde_mm256_xor_si256(c2[5361],simde_mm256_xor_si256(c2[1380],simde_mm256_xor_si256(c2[1180],simde_mm256_xor_si256(c2[5781],c2[3981]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[360]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[6241],c2[3742]));
|
|
|
|
//row: 37
|
|
d2[370]=simde_mm256_xor_si256(c2[6209],simde_mm256_xor_si256(c2[3004],simde_mm256_xor_si256(c2[1604],simde_mm256_xor_si256(c2[4808],simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[605],simde_mm256_xor_si256(c2[6229],simde_mm256_xor_si256(c2[3024],simde_mm256_xor_si256(c2[5822],simde_mm256_xor_si256(c2[2627],simde_mm256_xor_si256(c2[1021],simde_mm256_xor_si256(c2[4425],simde_mm256_xor_si256(c2[4225],simde_mm256_xor_si256(c2[6249],simde_mm256_xor_si256(c2[3044],simde_mm256_xor_si256(c2[2840],simde_mm256_xor_si256(c2[6244],simde_mm256_xor_si256(c2[6044],simde_mm256_xor_si256(c2[6269],simde_mm256_xor_si256(c2[3064],simde_mm256_xor_si256(c2[5463],simde_mm256_xor_si256(c2[2268],simde_mm256_xor_si256(c2[463],simde_mm256_xor_si256(c2[3667],simde_mm256_xor_si256(c2[6289],simde_mm256_xor_si256(c2[3084],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[4884],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[4487],simde_mm256_xor_si256(c2[4287],simde_mm256_xor_si256(c2[6309],simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[3504],simde_mm256_xor_si256(c2[509],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[6329],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[4722],simde_mm256_xor_si256(c2[1527],simde_mm256_xor_si256(c2[2320],simde_mm256_xor_si256(c2[5724],simde_mm256_xor_si256(c2[5524],simde_mm256_xor_si256(c2[6349],simde_mm256_xor_si256(c2[3144],simde_mm256_xor_si256(c2[4941],simde_mm256_xor_si256(c2[1946],simde_mm256_xor_si256(c2[1746],simde_mm256_xor_si256(c2[6369],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[5567],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[1166],simde_mm256_xor_si256(c2[966],simde_mm256_xor_si256(c2[6389],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[1386],simde_mm256_xor_si256(c2[2781],simde_mm256_xor_si256(c2[6185],c2[5985])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[380]=simde_mm256_xor_si256(c2[3800],simde_mm256_xor_si256(c2[3600],simde_mm256_xor_si256(c2[5404],simde_mm256_xor_si256(c2[1201],simde_mm256_xor_si256(c2[3820],simde_mm256_xor_si256(c2[3620],simde_mm256_xor_si256(c2[3223],simde_mm256_xor_si256(c2[4821],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[3840],simde_mm256_xor_si256(c2[3640],simde_mm256_xor_si256(c2[241],simde_mm256_xor_si256(c2[3860],simde_mm256_xor_si256(c2[3660],simde_mm256_xor_si256(c2[2864],simde_mm256_xor_si256(c2[4263],simde_mm256_xor_si256(c2[3680],simde_mm256_xor_si256(c2[5480],simde_mm256_xor_si256(c2[4883],simde_mm256_xor_si256(c2[3700],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[5902],simde_mm256_xor_si256(c2[3920],simde_mm256_xor_si256(c2[3720],simde_mm256_xor_si256(c2[2123],simde_mm256_xor_si256(c2[6120],simde_mm256_xor_si256(c2[3740],simde_mm256_xor_si256(c2[2342],simde_mm256_xor_si256(c2[3760],simde_mm256_xor_si256(c2[6163],simde_mm256_xor_si256(c2[1562],simde_mm256_xor_si256(c2[3980],simde_mm256_xor_si256(c2[3780],simde_mm256_xor_si256(c2[1982],c2[182]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[390]=simde_mm256_xor_si256(c2[2004],simde_mm256_xor_si256(c2[1804],simde_mm256_xor_si256(c2[3808],simde_mm256_xor_si256(c2[3608],simde_mm256_xor_si256(c2[5804],simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[2024],simde_mm256_xor_si256(c2[1824],simde_mm256_xor_si256(c2[1427],simde_mm256_xor_si256(c2[3025],simde_mm256_xor_si256(c2[2044],simde_mm256_xor_si256(c2[1844],simde_mm256_xor_si256(c2[4844],simde_mm256_xor_si256(c2[2064],simde_mm256_xor_si256(c2[1864],simde_mm256_xor_si256(c2[1268],simde_mm256_xor_si256(c2[1068],simde_mm256_xor_si256(c2[2467],simde_mm256_xor_si256(c2[2084],simde_mm256_xor_si256(c2[1884],simde_mm256_xor_si256(c2[3684],simde_mm256_xor_si256(c2[3087],simde_mm256_xor_si256(c2[2104],simde_mm256_xor_si256(c2[1904],simde_mm256_xor_si256(c2[5508],simde_mm256_xor_si256(c2[2124],simde_mm256_xor_si256(c2[1924],simde_mm256_xor_si256(c2[527],simde_mm256_xor_si256(c2[327],simde_mm256_xor_si256(c2[4324],simde_mm256_xor_si256(c2[2144],simde_mm256_xor_si256(c2[1944],simde_mm256_xor_si256(c2[546],simde_mm256_xor_si256(c2[4940],simde_mm256_xor_si256(c2[2164],simde_mm256_xor_si256(c2[1964],simde_mm256_xor_si256(c2[4367],simde_mm256_xor_si256(c2[6165],simde_mm256_xor_si256(c2[2184],simde_mm256_xor_si256(c2[1984],simde_mm256_xor_si256(c2[386],simde_mm256_xor_si256(c2[186],c2[4785]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[400]=simde_mm256_xor_si256(c2[601],simde_mm256_xor_si256(c2[2804],simde_mm256_xor_si256(c2[2405],simde_mm256_xor_si256(c2[4608],simde_mm256_xor_si256(c2[4601],simde_mm256_xor_si256(c2[405],simde_mm256_xor_si256(c2[621],simde_mm256_xor_si256(c2[2824],simde_mm256_xor_si256(c2[224],simde_mm256_xor_si256(c2[2427],simde_mm256_xor_si256(c2[1822],simde_mm256_xor_si256(c2[4225],simde_mm256_xor_si256(c2[4025],simde_mm256_xor_si256(c2[641],simde_mm256_xor_si256(c2[2844],simde_mm256_xor_si256(c2[3641],simde_mm256_xor_si256(c2[6044],simde_mm256_xor_si256(c2[5844],simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[661],simde_mm256_xor_si256(c2[2864],simde_mm256_xor_si256(c2[6264],simde_mm256_xor_si256(c2[2068],simde_mm256_xor_si256(c2[1264],simde_mm256_xor_si256(c2[3467],simde_mm256_xor_si256(c2[681],simde_mm256_xor_si256(c2[2884],simde_mm256_xor_si256(c2[2481],simde_mm256_xor_si256(c2[4684],simde_mm256_xor_si256(c2[1884],simde_mm256_xor_si256(c2[4287],simde_mm256_xor_si256(c2[4087],simde_mm256_xor_si256(c2[701],simde_mm256_xor_si256(c2[2904],simde_mm256_xor_si256(c2[4305],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[109],simde_mm256_xor_si256(c2[721],simde_mm256_xor_si256(c2[2924],simde_mm256_xor_si256(c2[5523],simde_mm256_xor_si256(c2[1327],simde_mm256_xor_si256(c2[3121],simde_mm256_xor_si256(c2[5524],simde_mm256_xor_si256(c2[5324],simde_mm256_xor_si256(c2[741],simde_mm256_xor_si256(c2[2944],simde_mm256_xor_si256(c2[5742],simde_mm256_xor_si256(c2[1746],simde_mm256_xor_si256(c2[1546],simde_mm256_xor_si256(c2[761],simde_mm256_xor_si256(c2[2964],simde_mm256_xor_si256(c2[3164],simde_mm256_xor_si256(c2[5367],simde_mm256_xor_si256(c2[4962],simde_mm256_xor_si256(c2[966],simde_mm256_xor_si256(c2[766],simde_mm256_xor_si256(c2[781],simde_mm256_xor_si256(c2[2984],simde_mm256_xor_si256(c2[5382],simde_mm256_xor_si256(c2[1186],simde_mm256_xor_si256(c2[3582],simde_mm256_xor_si256(c2[5985],c2[5785]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[410]=simde_mm256_xor_si256(c2[4601],simde_mm256_xor_si256(c2[4401],simde_mm256_xor_si256(c2[6205],simde_mm256_xor_si256(c2[2002],simde_mm256_xor_si256(c2[4621],simde_mm256_xor_si256(c2[4421],simde_mm256_xor_si256(c2[4024],simde_mm256_xor_si256(c2[5622],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[4641],simde_mm256_xor_si256(c2[4441],simde_mm256_xor_si256(c2[1042],simde_mm256_xor_si256(c2[4661],simde_mm256_xor_si256(c2[4461],simde_mm256_xor_si256(c2[3665],simde_mm256_xor_si256(c2[5064],simde_mm256_xor_si256(c2[4481],simde_mm256_xor_si256(c2[6281],simde_mm256_xor_si256(c2[5684],simde_mm256_xor_si256(c2[4501],simde_mm256_xor_si256(c2[1706],simde_mm256_xor_si256(c2[500],simde_mm256_xor_si256(c2[4721],simde_mm256_xor_si256(c2[4521],simde_mm256_xor_si256(c2[2924],simde_mm256_xor_si256(c2[522],simde_mm256_xor_si256(c2[4541],simde_mm256_xor_si256(c2[3143],simde_mm256_xor_si256(c2[4561],simde_mm256_xor_si256(c2[565],simde_mm256_xor_si256(c2[2363],simde_mm256_xor_si256(c2[4781],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[2783],c2[983]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|
|
#endif
|