Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators. - Changes: - use SIMDE consistently - adaptations of LDPC decoder generator for ARMv8 performance - SIMDe modifications of Intel CRC to allow for aarch64 build. optimizations for 128-bit to improve performance of LDPC encode/decode on aarch64 (Neoverse 1) - added BG2 files for 128-bit ldpc encoder (aarch64) - testing on Xeon - testing on x86 - minor changes to build/run on x86 - change in crc.h after returning to aarch64 - removed some warning in ldpc decoder generator for x86_64 - char - Delete irrelevant constants - Correctly declare variables - Define stdbool for all architectures - Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE - Remove commented code - Fix CMakeLists.txt - Include SIMDE avx2 functions in tools_defs.h
142 lines
46 KiB
C
142 lines
46 KiB
C
#ifdef __AVX2__
|
|
#include "PHY/sse_intrin.h"
|
|
// generated code for Zc=288, byte encoding
|
|
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc288_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<9; i2++) {
|
|
c2=&csimd[i2];
|
|
d2=&dsimd[i2];
|
|
|
|
//row: 0
|
|
d2[0]=simde_mm256_xor_si256(c2[360],simde_mm256_xor_si256(c2[3240],simde_mm256_xor_si256(c2[5402],simde_mm256_xor_si256(c2[4518],simde_mm256_xor_si256(c2[1641],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[3637],simde_mm256_xor_si256(c2[4359],simde_mm256_xor_si256(c2[415],simde_mm256_xor_si256(c2[5276],simde_mm256_xor_si256(c2[4916],simde_mm256_xor_si256(c2[1335],simde_mm256_xor_si256(c2[2415],simde_mm256_xor_si256(c2[3852],simde_mm256_xor_si256(c2[272],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[3351],simde_mm256_xor_si256(c2[3530],simde_mm256_xor_si256(c2[1550],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[3007],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[2667],simde_mm256_xor_si256(c2[5727],simde_mm256_xor_si256(c2[5565],simde_mm256_xor_si256(c2[3223],c2[2684]))))))))))))))))))))))))));
|
|
|
|
//row: 1
|
|
d2[9]=simde_mm256_xor_si256(c2[540],simde_mm256_xor_si256(c2[360],simde_mm256_xor_si256(c2[3240],simde_mm256_xor_si256(c2[5402],simde_mm256_xor_si256(c2[4698],simde_mm256_xor_si256(c2[4518],simde_mm256_xor_si256(c2[1641],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[3817],simde_mm256_xor_si256(c2[3637],simde_mm256_xor_si256(c2[4359],simde_mm256_xor_si256(c2[595],simde_mm256_xor_si256(c2[415],simde_mm256_xor_si256(c2[5276],simde_mm256_xor_si256(c2[4916],simde_mm256_xor_si256(c2[1335],simde_mm256_xor_si256(c2[2415],simde_mm256_xor_si256(c2[3852],simde_mm256_xor_si256(c2[272],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[3531],simde_mm256_xor_si256(c2[3351],simde_mm256_xor_si256(c2[3530],simde_mm256_xor_si256(c2[1550],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[3007],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[2667],simde_mm256_xor_si256(c2[5727],simde_mm256_xor_si256(c2[5745],simde_mm256_xor_si256(c2[5565],simde_mm256_xor_si256(c2[3223],c2[2684]))))))))))))))))))))))))))))))));
|
|
|
|
//row: 2
|
|
d2[18]=simde_mm256_xor_si256(c2[540],simde_mm256_xor_si256(c2[360],simde_mm256_xor_si256(c2[3420],simde_mm256_xor_si256(c2[3240],simde_mm256_xor_si256(c2[5402],simde_mm256_xor_si256(c2[4698],simde_mm256_xor_si256(c2[4518],simde_mm256_xor_si256(c2[1641],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[3817],simde_mm256_xor_si256(c2[3637],simde_mm256_xor_si256(c2[4359],simde_mm256_xor_si256(c2[595],simde_mm256_xor_si256(c2[415],simde_mm256_xor_si256(c2[5456],simde_mm256_xor_si256(c2[5276],simde_mm256_xor_si256(c2[4916],simde_mm256_xor_si256(c2[1515],simde_mm256_xor_si256(c2[1335],simde_mm256_xor_si256(c2[2415],simde_mm256_xor_si256(c2[3852],simde_mm256_xor_si256(c2[452],simde_mm256_xor_si256(c2[272],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[3531],simde_mm256_xor_si256(c2[3351],simde_mm256_xor_si256(c2[3710],simde_mm256_xor_si256(c2[3530],simde_mm256_xor_si256(c2[1550],simde_mm256_xor_si256(c2[489],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[3007],simde_mm256_xor_si256(c2[1046],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[2667],simde_mm256_xor_si256(c2[5727],simde_mm256_xor_si256(c2[5745],simde_mm256_xor_si256(c2[5565],simde_mm256_xor_si256(c2[3403],simde_mm256_xor_si256(c2[3223],c2[2684]))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 3
|
|
d2[27]=simde_mm256_xor_si256(c2[360],simde_mm256_xor_si256(c2[3240],simde_mm256_xor_si256(c2[5402],simde_mm256_xor_si256(c2[4518],simde_mm256_xor_si256(c2[1641],simde_mm256_xor_si256(c2[4341],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[3637],simde_mm256_xor_si256(c2[4539],simde_mm256_xor_si256(c2[4359],simde_mm256_xor_si256(c2[415],simde_mm256_xor_si256(c2[5276],simde_mm256_xor_si256(c2[4916],simde_mm256_xor_si256(c2[1335],simde_mm256_xor_si256(c2[2415],simde_mm256_xor_si256(c2[4032],simde_mm256_xor_si256(c2[3852],simde_mm256_xor_si256(c2[272],simde_mm256_xor_si256(c2[810],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[3351],simde_mm256_xor_si256(c2[3530],simde_mm256_xor_si256(c2[1730],simde_mm256_xor_si256(c2[1550],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[3187],simde_mm256_xor_si256(c2[3007],simde_mm256_xor_si256(c2[866],simde_mm256_xor_si256(c2[2667],simde_mm256_xor_si256(c2[148],simde_mm256_xor_si256(c2[5727],simde_mm256_xor_si256(c2[5565],simde_mm256_xor_si256(c2[3223],simde_mm256_xor_si256(c2[2864],c2[2684]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 4
|
|
d2[36]=simde_mm256_xor_si256(c2[3961],simde_mm256_xor_si256(c2[3781],simde_mm256_xor_si256(c2[902],simde_mm256_xor_si256(c2[3064],simde_mm256_xor_si256(c2[1801],simde_mm256_xor_si256(c2[2360],simde_mm256_xor_si256(c2[2180],simde_mm256_xor_si256(c2[5062],simde_mm256_xor_si256(c2[1823],simde_mm256_xor_si256(c2[4338],simde_mm256_xor_si256(c2[1479],simde_mm256_xor_si256(c2[1299],simde_mm256_xor_si256(c2[2021],simde_mm256_xor_si256(c2[4016],simde_mm256_xor_si256(c2[3836],simde_mm256_xor_si256(c2[2938],simde_mm256_xor_si256(c2[2578],simde_mm256_xor_si256(c2[4756],simde_mm256_xor_si256(c2[77],simde_mm256_xor_si256(c2[1514],simde_mm256_xor_si256(c2[3693],simde_mm256_xor_si256(c2[4051],simde_mm256_xor_si256(c2[1193],simde_mm256_xor_si256(c2[1013],simde_mm256_xor_si256(c2[1192],simde_mm256_xor_si256(c2[4971],simde_mm256_xor_si256(c2[3730],simde_mm256_xor_si256(c2[669],simde_mm256_xor_si256(c2[4287],simde_mm256_xor_si256(c2[329],simde_mm256_xor_si256(c2[3389],simde_mm256_xor_si256(c2[3407],simde_mm256_xor_si256(c2[3227],simde_mm256_xor_si256(c2[885],c2[346]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 5
|
|
d2[45]=simde_mm256_xor_si256(c2[1802],simde_mm256_xor_si256(c2[1622],simde_mm256_xor_si256(c2[4502],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[1441],simde_mm256_xor_si256(c2[201],simde_mm256_xor_si256(c2[21],simde_mm256_xor_si256(c2[2903],simde_mm256_xor_si256(c2[5423],simde_mm256_xor_si256(c2[2182],simde_mm256_xor_si256(c2[5079],simde_mm256_xor_si256(c2[4899],simde_mm256_xor_si256(c2[5621],simde_mm256_xor_si256(c2[1857],simde_mm256_xor_si256(c2[1677],simde_mm256_xor_si256(c2[779],simde_mm256_xor_si256(c2[419],simde_mm256_xor_si256(c2[2597],simde_mm256_xor_si256(c2[3677],simde_mm256_xor_si256(c2[5114],simde_mm256_xor_si256(c2[1534],simde_mm256_xor_si256(c2[1892],simde_mm256_xor_si256(c2[3692],simde_mm256_xor_si256(c2[4793],simde_mm256_xor_si256(c2[4613],simde_mm256_xor_si256(c2[4792],simde_mm256_xor_si256(c2[2812],simde_mm256_xor_si256(c2[1571],simde_mm256_xor_si256(c2[4269],simde_mm256_xor_si256(c2[1750],simde_mm256_xor_si256(c2[2128],simde_mm256_xor_si256(c2[3929],simde_mm256_xor_si256(c2[1230],simde_mm256_xor_si256(c2[1248],simde_mm256_xor_si256(c2[1068],simde_mm256_xor_si256(c2[4485],c2[3946]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 6
|
|
d2[54]=simde_mm256_xor_si256(c2[2524],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[5224],simde_mm256_xor_si256(c2[1627],simde_mm256_xor_si256(c2[2343],simde_mm256_xor_si256(c2[923],simde_mm256_xor_si256(c2[743],simde_mm256_xor_si256(c2[3625],simde_mm256_xor_si256(c2[386],simde_mm256_xor_si256(c2[42],simde_mm256_xor_si256(c2[5621],simde_mm256_xor_si256(c2[584],simde_mm256_xor_si256(c2[2579],simde_mm256_xor_si256(c2[2399],simde_mm256_xor_si256(c2[1501],simde_mm256_xor_si256(c2[1141],simde_mm256_xor_si256(c2[3319],simde_mm256_xor_si256(c2[4399],simde_mm256_xor_si256(c2[77],simde_mm256_xor_si256(c2[2256],simde_mm256_xor_si256(c2[2614],simde_mm256_xor_si256(c2[4232],simde_mm256_xor_si256(c2[5515],simde_mm256_xor_si256(c2[5335],simde_mm256_xor_si256(c2[5514],simde_mm256_xor_si256(c2[3534],simde_mm256_xor_si256(c2[2293],simde_mm256_xor_si256(c2[4991],simde_mm256_xor_si256(c2[2109],simde_mm256_xor_si256(c2[2850],simde_mm256_xor_si256(c2[4651],simde_mm256_xor_si256(c2[1952],simde_mm256_xor_si256(c2[1970],simde_mm256_xor_si256(c2[1790],simde_mm256_xor_si256(c2[5207],simde_mm256_xor_si256(c2[4668],c2[1066]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 7
|
|
d2[63]=simde_mm256_xor_si256(c2[2703],simde_mm256_xor_si256(c2[2523],simde_mm256_xor_si256(c2[542],simde_mm256_xor_si256(c2[5403],simde_mm256_xor_si256(c2[3422],simde_mm256_xor_si256(c2[1806],simde_mm256_xor_si256(c2[5584],simde_mm256_xor_si256(c2[1102],simde_mm256_xor_si256(c2[922],simde_mm256_xor_si256(c2[4700],simde_mm256_xor_si256(c2[3804],simde_mm256_xor_si256(c2[1823],simde_mm256_xor_si256(c2[565],simde_mm256_xor_si256(c2[4523],simde_mm256_xor_si256(c2[4343],simde_mm256_xor_si256(c2[201],simde_mm256_xor_si256(c2[221],simde_mm256_xor_si256(c2[41],simde_mm256_xor_si256(c2[3819],simde_mm256_xor_si256(c2[763],simde_mm256_xor_si256(c2[4721],simde_mm256_xor_si256(c2[4541],simde_mm256_xor_si256(c2[2758],simde_mm256_xor_si256(c2[2578],simde_mm256_xor_si256(c2[597],simde_mm256_xor_si256(c2[1680],simde_mm256_xor_si256(c2[5458],simde_mm256_xor_si256(c2[1320],simde_mm256_xor_si256(c2[5098],simde_mm256_xor_si256(c2[3498],simde_mm256_xor_si256(c2[1517],simde_mm256_xor_si256(c2[4578],simde_mm256_xor_si256(c2[2597],simde_mm256_xor_si256(c2[256],simde_mm256_xor_si256(c2[4214],simde_mm256_xor_si256(c2[4034],simde_mm256_xor_si256(c2[2435],simde_mm256_xor_si256(c2[454],simde_mm256_xor_si256(c2[2793],simde_mm256_xor_si256(c2[992],simde_mm256_xor_si256(c2[812],simde_mm256_xor_si256(c2[1354],simde_mm256_xor_si256(c2[5694],simde_mm256_xor_si256(c2[5514],simde_mm256_xor_si256(c2[3533],simde_mm256_xor_si256(c2[5693],simde_mm256_xor_si256(c2[3712],simde_mm256_xor_si256(c2[3713],simde_mm256_xor_si256(c2[1912],simde_mm256_xor_si256(c2[1732],simde_mm256_xor_si256(c2[2472],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[5170],simde_mm256_xor_si256(c2[3369],simde_mm256_xor_si256(c2[3189],simde_mm256_xor_si256(c2[667],simde_mm256_xor_si256(c2[3029],simde_mm256_xor_si256(c2[1048],simde_mm256_xor_si256(c2[4830],simde_mm256_xor_si256(c2[2849],simde_mm256_xor_si256(c2[2131],simde_mm256_xor_si256(c2[330],simde_mm256_xor_si256(c2[150],simde_mm256_xor_si256(c2[2149],simde_mm256_xor_si256(c2[1969],simde_mm256_xor_si256(c2[5747],simde_mm256_xor_si256(c2[5386],simde_mm256_xor_si256(c2[3405],simde_mm256_xor_si256(c2[4847],simde_mm256_xor_si256(c2[3046],c2[2866]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 8
|
|
d2[72]=simde_mm256_xor_si256(c2[4862],simde_mm256_xor_si256(c2[4682],simde_mm256_xor_si256(c2[1983],simde_mm256_xor_si256(c2[1803],simde_mm256_xor_si256(c2[3965],simde_mm256_xor_si256(c2[1082],simde_mm256_xor_si256(c2[3261],simde_mm256_xor_si256(c2[3081],simde_mm256_xor_si256(c2[204],simde_mm256_xor_si256(c2[2724],simde_mm256_xor_si256(c2[920],simde_mm256_xor_si256(c2[2380],simde_mm256_xor_si256(c2[2200],simde_mm256_xor_si256(c2[2922],simde_mm256_xor_si256(c2[4917],simde_mm256_xor_si256(c2[4737],simde_mm256_xor_si256(c2[4019],simde_mm256_xor_si256(c2[3839],simde_mm256_xor_si256(c2[3479],simde_mm256_xor_si256(c2[78],simde_mm256_xor_si256(c2[5657],simde_mm256_xor_si256(c2[978],simde_mm256_xor_si256(c2[2415],simde_mm256_xor_si256(c2[4774],simde_mm256_xor_si256(c2[4594],simde_mm256_xor_si256(c2[4952],simde_mm256_xor_si256(c2[2094],simde_mm256_xor_si256(c2[1914],simde_mm256_xor_si256(c2[2273],simde_mm256_xor_si256(c2[2093],simde_mm256_xor_si256(c2[113],simde_mm256_xor_si256(c2[4811],simde_mm256_xor_si256(c2[4631],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[5368],simde_mm256_xor_si256(c2[5188],simde_mm256_xor_si256(c2[1230],simde_mm256_xor_si256(c2[4290],simde_mm256_xor_si256(c2[4308],simde_mm256_xor_si256(c2[4128],simde_mm256_xor_si256(c2[1966],simde_mm256_xor_si256(c2[1786],c2[1247]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 9
|
|
d2[81]=simde_mm256_xor_si256(c2[4680],simde_mm256_xor_si256(c2[3601],simde_mm256_xor_si256(c2[3421],simde_mm256_xor_si256(c2[1801],simde_mm256_xor_si256(c2[542],simde_mm256_xor_si256(c2[3963],simde_mm256_xor_si256(c2[2704],simde_mm256_xor_si256(c2[3079],simde_mm256_xor_si256(c2[2000],simde_mm256_xor_si256(c2[1820],simde_mm256_xor_si256(c2[202],simde_mm256_xor_si256(c2[4702],simde_mm256_xor_si256(c2[2722],simde_mm256_xor_si256(c2[1463],simde_mm256_xor_si256(c2[201],simde_mm256_xor_si256(c2[2198],simde_mm256_xor_si256(c2[1119],simde_mm256_xor_si256(c2[939],simde_mm256_xor_si256(c2[2920],simde_mm256_xor_si256(c2[1661],simde_mm256_xor_si256(c2[4735],simde_mm256_xor_si256(c2[3656],simde_mm256_xor_si256(c2[3476],simde_mm256_xor_si256(c2[3837],simde_mm256_xor_si256(c2[2578],simde_mm256_xor_si256(c2[3477],simde_mm256_xor_si256(c2[2218],simde_mm256_xor_si256(c2[5655],simde_mm256_xor_si256(c2[4396],simde_mm256_xor_si256(c2[976],simde_mm256_xor_si256(c2[5476],simde_mm256_xor_si256(c2[2413],simde_mm256_xor_si256(c2[1154],simde_mm256_xor_si256(c2[4592],simde_mm256_xor_si256(c2[3333],simde_mm256_xor_si256(c2[4950],simde_mm256_xor_si256(c2[3691],simde_mm256_xor_si256(c2[1912],simde_mm256_xor_si256(c2[833],simde_mm256_xor_si256(c2[653],simde_mm256_xor_si256(c2[2091],simde_mm256_xor_si256(c2[832],simde_mm256_xor_si256(c2[111],simde_mm256_xor_si256(c2[4611],simde_mm256_xor_si256(c2[4629],simde_mm256_xor_si256(c2[3370],simde_mm256_xor_si256(c2[1568],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[5186],simde_mm256_xor_si256(c2[3927],simde_mm256_xor_si256(c2[1228],simde_mm256_xor_si256(c2[5728],simde_mm256_xor_si256(c2[4288],simde_mm256_xor_si256(c2[3029],simde_mm256_xor_si256(c2[1585],simde_mm256_xor_si256(c2[4126],simde_mm256_xor_si256(c2[3047],simde_mm256_xor_si256(c2[2867],simde_mm256_xor_si256(c2[1784],simde_mm256_xor_si256(c2[525],simde_mm256_xor_si256(c2[1245],c2[5745])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 10
|
|
d2[90]=simde_mm256_xor_si256(c2[2521],simde_mm256_xor_si256(c2[1639],simde_mm256_xor_si256(c2[1011],c2[129])));
|
|
|
|
//row: 11
|
|
d2[99]=simde_mm256_xor_si256(c2[362],simde_mm256_xor_si256(c2[3242],simde_mm256_xor_si256(c2[5404],simde_mm256_xor_si256(c2[5040],simde_mm256_xor_si256(c2[4520],simde_mm256_xor_si256(c2[1643],simde_mm256_xor_si256(c2[4343],simde_mm256_xor_si256(c2[4163],simde_mm256_xor_si256(c2[3639],simde_mm256_xor_si256(c2[4541],simde_mm256_xor_si256(c2[4361],simde_mm256_xor_si256(c2[417],simde_mm256_xor_si256(c2[5278],simde_mm256_xor_si256(c2[4918],simde_mm256_xor_si256(c2[1337],simde_mm256_xor_si256(c2[2417],simde_mm256_xor_si256(c2[4034],simde_mm256_xor_si256(c2[3854],simde_mm256_xor_si256(c2[274],simde_mm256_xor_si256(c2[812],simde_mm256_xor_si256(c2[632],simde_mm256_xor_si256(c2[3353],simde_mm256_xor_si256(c2[3532],simde_mm256_xor_si256(c2[1732],simde_mm256_xor_si256(c2[1552],simde_mm256_xor_si256(c2[311],simde_mm256_xor_si256(c2[3189],simde_mm256_xor_si256(c2[3009],simde_mm256_xor_si256(c2[5526],simde_mm256_xor_si256(c2[868],simde_mm256_xor_si256(c2[2669],simde_mm256_xor_si256(c2[150],simde_mm256_xor_si256(c2[5729],simde_mm256_xor_si256(c2[5567],simde_mm256_xor_si256(c2[3225],simde_mm256_xor_si256(c2[2866],simde_mm256_xor_si256(c2[2686],c2[3765])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 12
|
|
d2[108]=simde_mm256_xor_si256(c2[1084],simde_mm256_xor_si256(c2[904],simde_mm256_xor_si256(c2[3784],simde_mm256_xor_si256(c2[187],simde_mm256_xor_si256(c2[5242],simde_mm256_xor_si256(c2[5062],simde_mm256_xor_si256(c2[2185],simde_mm256_xor_si256(c2[4705],simde_mm256_xor_si256(c2[199],simde_mm256_xor_si256(c2[4361],simde_mm256_xor_si256(c2[4181],simde_mm256_xor_si256(c2[4903],simde_mm256_xor_si256(c2[1139],simde_mm256_xor_si256(c2[959],simde_mm256_xor_si256(c2[61],simde_mm256_xor_si256(c2[5460],simde_mm256_xor_si256(c2[4737],simde_mm256_xor_si256(c2[1879],simde_mm256_xor_si256(c2[2959],simde_mm256_xor_si256(c2[4396],simde_mm256_xor_si256(c2[816],simde_mm256_xor_si256(c2[1174],simde_mm256_xor_si256(c2[4075],simde_mm256_xor_si256(c2[3895],simde_mm256_xor_si256(c2[4074],simde_mm256_xor_si256(c2[2094],simde_mm256_xor_si256(c2[853],simde_mm256_xor_si256(c2[3551],simde_mm256_xor_si256(c2[1410],simde_mm256_xor_si256(c2[3211],simde_mm256_xor_si256(c2[512],simde_mm256_xor_si256(c2[530],simde_mm256_xor_si256(c2[350],simde_mm256_xor_si256(c2[3767],c2[3228]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 13
|
|
d2[117]=simde_mm256_xor_si256(c2[3061],simde_mm256_xor_si256(c2[182],simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[2162],simde_mm256_xor_si256(c2[1460],simde_mm256_xor_si256(c2[4342],simde_mm256_xor_si256(c2[1283],simde_mm256_xor_si256(c2[1103],simde_mm256_xor_si256(c2[919],simde_mm256_xor_si256(c2[579],simde_mm256_xor_si256(c2[1481],simde_mm256_xor_si256(c2[1301],simde_mm256_xor_si256(c2[3116],simde_mm256_xor_si256(c2[2218],simde_mm256_xor_si256(c2[1858],simde_mm256_xor_si256(c2[4036],simde_mm256_xor_si256(c2[5116],simde_mm256_xor_si256(c2[974],simde_mm256_xor_si256(c2[794],simde_mm256_xor_si256(c2[2973],simde_mm256_xor_si256(c2[3511],simde_mm256_xor_si256(c2[3331],simde_mm256_xor_si256(c2[293],simde_mm256_xor_si256(c2[472],simde_mm256_xor_si256(c2[4431],simde_mm256_xor_si256(c2[4251],simde_mm256_xor_si256(c2[3010],simde_mm256_xor_si256(c2[129],simde_mm256_xor_si256(c2[5708],simde_mm256_xor_si256(c2[3567],simde_mm256_xor_si256(c2[5368],simde_mm256_xor_si256(c2[2849],simde_mm256_xor_si256(c2[2669],simde_mm256_xor_si256(c2[5545],simde_mm256_xor_si256(c2[2507],simde_mm256_xor_si256(c2[165],simde_mm256_xor_si256(c2[5565],c2[5385])))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 14
|
|
d2[126]=simde_mm256_xor_si256(c2[904],simde_mm256_xor_si256(c2[724],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[3604],simde_mm256_xor_si256(c2[3423],simde_mm256_xor_si256(c2[7],simde_mm256_xor_si256(c2[5585],simde_mm256_xor_si256(c2[5062],simde_mm256_xor_si256(c2[4882],simde_mm256_xor_si256(c2[4701],simde_mm256_xor_si256(c2[2005],simde_mm256_xor_si256(c2[1824],simde_mm256_xor_si256(c2[4525],simde_mm256_xor_si256(c2[4524],simde_mm256_xor_si256(c2[4344],simde_mm256_xor_si256(c2[2722],simde_mm256_xor_si256(c2[4181],simde_mm256_xor_si256(c2[4001],simde_mm256_xor_si256(c2[3820],simde_mm256_xor_si256(c2[4723],simde_mm256_xor_si256(c2[4722],simde_mm256_xor_si256(c2[4542],simde_mm256_xor_si256(c2[959],simde_mm256_xor_si256(c2[779],simde_mm256_xor_si256(c2[598],simde_mm256_xor_si256(c2[5640],simde_mm256_xor_si256(c2[5459],simde_mm256_xor_si256(c2[5280],simde_mm256_xor_si256(c2[5099],simde_mm256_xor_si256(c2[1699],simde_mm256_xor_si256(c2[1518],simde_mm256_xor_si256(c2[2779],simde_mm256_xor_si256(c2[2598],simde_mm256_xor_si256(c2[4216],simde_mm256_xor_si256(c2[4215],simde_mm256_xor_si256(c2[4035],simde_mm256_xor_si256(c2[636],simde_mm256_xor_si256(c2[455],simde_mm256_xor_si256(c2[994],simde_mm256_xor_si256(c2[993],simde_mm256_xor_si256(c2[813],simde_mm256_xor_si256(c2[3895],simde_mm256_xor_si256(c2[3715],simde_mm256_xor_si256(c2[3534],simde_mm256_xor_si256(c2[3894],simde_mm256_xor_si256(c2[3713],simde_mm256_xor_si256(c2[1914],simde_mm256_xor_si256(c2[1913],simde_mm256_xor_si256(c2[1733],simde_mm256_xor_si256(c2[3529],simde_mm256_xor_si256(c2[673],simde_mm256_xor_si256(c2[492],simde_mm256_xor_si256(c2[3371],simde_mm256_xor_si256(c2[3370],simde_mm256_xor_si256(c2[3190],simde_mm256_xor_si256(c2[1230],simde_mm256_xor_si256(c2[1049],simde_mm256_xor_si256(c2[3031],simde_mm256_xor_si256(c2[2850],simde_mm256_xor_si256(c2[332],simde_mm256_xor_si256(c2[331],simde_mm256_xor_si256(c2[151],simde_mm256_xor_si256(c2[350],simde_mm256_xor_si256(c2[170],simde_mm256_xor_si256(c2[5748],simde_mm256_xor_si256(c2[3587],simde_mm256_xor_si256(c2[3406],simde_mm256_xor_si256(c2[3048],simde_mm256_xor_si256(c2[3047],c2[2867])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 15
|
|
d2[135]=simde_mm256_xor_si256(c2[363],simde_mm256_xor_si256(c2[544],simde_mm256_xor_si256(c2[364],simde_mm256_xor_si256(c2[3243],simde_mm256_xor_si256(c2[3244],simde_mm256_xor_si256(c2[5405],simde_mm256_xor_si256(c2[5406],simde_mm256_xor_si256(c2[1984],simde_mm256_xor_si256(c2[4521],simde_mm256_xor_si256(c2[4702],simde_mm256_xor_si256(c2[4522],simde_mm256_xor_si256(c2[1644],simde_mm256_xor_si256(c2[1645],simde_mm256_xor_si256(c2[4164],simde_mm256_xor_si256(c2[4165],simde_mm256_xor_si256(c2[3640],simde_mm256_xor_si256(c2[3821],simde_mm256_xor_si256(c2[3641],simde_mm256_xor_si256(c2[4362],simde_mm256_xor_si256(c2[4363],simde_mm256_xor_si256(c2[418],simde_mm256_xor_si256(c2[599],simde_mm256_xor_si256(c2[419],simde_mm256_xor_si256(c2[5279],simde_mm256_xor_si256(c2[5280],simde_mm256_xor_si256(c2[4919],simde_mm256_xor_si256(c2[4920],simde_mm256_xor_si256(c2[1338],simde_mm256_xor_si256(c2[1339],simde_mm256_xor_si256(c2[2418],simde_mm256_xor_si256(c2[2419],simde_mm256_xor_si256(c2[3855],simde_mm256_xor_si256(c2[3856],simde_mm256_xor_si256(c2[275],simde_mm256_xor_si256(c2[276],simde_mm256_xor_si256(c2[633],simde_mm256_xor_si256(c2[634],simde_mm256_xor_si256(c2[3354],simde_mm256_xor_si256(c2[3535],simde_mm256_xor_si256(c2[3355],simde_mm256_xor_si256(c2[3533],simde_mm256_xor_si256(c2[3534],simde_mm256_xor_si256(c2[1553],simde_mm256_xor_si256(c2[1554],simde_mm256_xor_si256(c2[312],simde_mm256_xor_si256(c2[313],simde_mm256_xor_si256(c2[3010],simde_mm256_xor_si256(c2[3011],simde_mm256_xor_si256(c2[869],simde_mm256_xor_si256(c2[870],simde_mm256_xor_si256(c2[2670],simde_mm256_xor_si256(c2[2671],simde_mm256_xor_si256(c2[5730],simde_mm256_xor_si256(c2[5731],simde_mm256_xor_si256(c2[5568],simde_mm256_xor_si256(c2[5749],simde_mm256_xor_si256(c2[5569],simde_mm256_xor_si256(c2[3226],simde_mm256_xor_si256(c2[3227],simde_mm256_xor_si256(c2[2687],c2[2688]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 16
|
|
d2[144]=simde_mm256_xor_si256(c2[5580],simde_mm256_xor_si256(c2[5400],simde_mm256_xor_si256(c2[1980],simde_mm256_xor_si256(c2[1800],simde_mm256_xor_si256(c2[2521],simde_mm256_xor_si256(c2[4860],simde_mm256_xor_si256(c2[4680],simde_mm256_xor_si256(c2[4683],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[3979],simde_mm256_xor_si256(c2[3799],simde_mm256_xor_si256(c2[379],simde_mm256_xor_si256(c2[199],simde_mm256_xor_si256(c2[922],simde_mm256_xor_si256(c2[3081],simde_mm256_xor_si256(c2[3442],simde_mm256_xor_si256(c2[5601],simde_mm256_xor_si256(c2[2899],simde_mm256_xor_si256(c2[3098],simde_mm256_xor_si256(c2[2918],simde_mm256_xor_si256(c2[5257],simde_mm256_xor_si256(c2[5077],simde_mm256_xor_si256(c2[3640],simde_mm256_xor_si256(c2[40],simde_mm256_xor_si256(c2[5635],simde_mm256_xor_si256(c2[5455],simde_mm256_xor_si256(c2[2035],simde_mm256_xor_si256(c2[1855],simde_mm256_xor_si256(c2[4557],simde_mm256_xor_si256(c2[1137],simde_mm256_xor_si256(c2[957],simde_mm256_xor_si256(c2[4197],simde_mm256_xor_si256(c2[597],simde_mm256_xor_si256(c2[616],simde_mm256_xor_si256(c2[2955],simde_mm256_xor_si256(c2[2775],simde_mm256_xor_si256(c2[1696],simde_mm256_xor_si256(c2[3855],simde_mm256_xor_si256(c2[3133],simde_mm256_xor_si256(c2[5292],simde_mm256_xor_si256(c2[5312],simde_mm256_xor_si256(c2[1892],simde_mm256_xor_si256(c2[1712],simde_mm256_xor_si256(c2[5670],simde_mm256_xor_si256(c2[2070],simde_mm256_xor_si256(c2[2812],simde_mm256_xor_si256(c2[2632],simde_mm256_xor_si256(c2[4971],simde_mm256_xor_si256(c2[4791],simde_mm256_xor_si256(c2[2811],simde_mm256_xor_si256(c2[5150],simde_mm256_xor_si256(c2[4970],simde_mm256_xor_si256(c2[831],simde_mm256_xor_si256(c2[2990],simde_mm256_xor_si256(c2[5349],simde_mm256_xor_si256(c2[1929],simde_mm256_xor_si256(c2[1749],simde_mm256_xor_si256(c2[2288],simde_mm256_xor_si256(c2[4447],simde_mm256_xor_si256(c2[147],simde_mm256_xor_si256(c2[2486],simde_mm256_xor_si256(c2[2306],simde_mm256_xor_si256(c2[1948],simde_mm256_xor_si256(c2[4107],simde_mm256_xor_si256(c2[5008],simde_mm256_xor_si256(c2[1408],simde_mm256_xor_si256(c2[5026],simde_mm256_xor_si256(c2[4846],simde_mm256_xor_si256(c2[1426],simde_mm256_xor_si256(c2[1246],simde_mm256_xor_si256(c2[2504],simde_mm256_xor_si256(c2[4843],simde_mm256_xor_si256(c2[4663],simde_mm256_xor_si256(c2[1965],simde_mm256_xor_si256(c2[4124],c2[1782])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 17
|
|
d2[153]=simde_mm256_xor_si256(c2[722],simde_mm256_xor_si256(c2[542],simde_mm256_xor_si256(c2[2341],simde_mm256_xor_si256(c2[2161],simde_mm256_xor_si256(c2[3422],simde_mm256_xor_si256(c2[5221],simde_mm256_xor_si256(c2[5041],simde_mm256_xor_si256(c2[5584],simde_mm256_xor_si256(c2[1444],simde_mm256_xor_si256(c2[4880],simde_mm256_xor_si256(c2[4700],simde_mm256_xor_si256(c2[740],simde_mm256_xor_si256(c2[560],simde_mm256_xor_si256(c2[1823],simde_mm256_xor_si256(c2[3442],simde_mm256_xor_si256(c2[4343],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[4341],simde_mm256_xor_si256(c2[3999],simde_mm256_xor_si256(c2[3819],simde_mm256_xor_si256(c2[5618],simde_mm256_xor_si256(c2[5438],simde_mm256_xor_si256(c2[4541],simde_mm256_xor_si256(c2[401],simde_mm256_xor_si256(c2[777],simde_mm256_xor_si256(c2[597],simde_mm256_xor_si256(c2[2396],simde_mm256_xor_si256(c2[2216],simde_mm256_xor_si256(c2[5458],simde_mm256_xor_si256(c2[1498],simde_mm256_xor_si256(c2[1318],simde_mm256_xor_si256(c2[5098],simde_mm256_xor_si256(c2[958],simde_mm256_xor_si256(c2[1517],simde_mm256_xor_si256(c2[3316],simde_mm256_xor_si256(c2[3136],simde_mm256_xor_si256(c2[2597],simde_mm256_xor_si256(c2[4216],simde_mm256_xor_si256(c2[4034],simde_mm256_xor_si256(c2[5653],simde_mm256_xor_si256(c2[454],simde_mm256_xor_si256(c2[2253],simde_mm256_xor_si256(c2[2073],simde_mm256_xor_si256(c2[812],simde_mm256_xor_si256(c2[2431],simde_mm256_xor_si256(c2[2071],simde_mm256_xor_si256(c2[3713],simde_mm256_xor_si256(c2[3533],simde_mm256_xor_si256(c2[5332],simde_mm256_xor_si256(c2[5152],simde_mm256_xor_si256(c2[3712],simde_mm256_xor_si256(c2[5511],simde_mm256_xor_si256(c2[5331],simde_mm256_xor_si256(c2[1732],simde_mm256_xor_si256(c2[3351],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[2290],simde_mm256_xor_si256(c2[2110],simde_mm256_xor_si256(c2[3189],simde_mm256_xor_si256(c2[4808],simde_mm256_xor_si256(c2[1048],simde_mm256_xor_si256(c2[2847],simde_mm256_xor_si256(c2[2667],simde_mm256_xor_si256(c2[2849],simde_mm256_xor_si256(c2[4468],simde_mm256_xor_si256(c2[150],simde_mm256_xor_si256(c2[1769],simde_mm256_xor_si256(c2[168],simde_mm256_xor_si256(c2[5747],simde_mm256_xor_si256(c2[1787],simde_mm256_xor_si256(c2[1607],simde_mm256_xor_si256(c2[3405],simde_mm256_xor_si256(c2[5204],simde_mm256_xor_si256(c2[5024],simde_mm256_xor_si256(c2[2866],c2[4485])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 18
|
|
d2[162]=simde_mm256_xor_si256(c2[3060],simde_mm256_xor_si256(c2[1911],c2[2650]));
|
|
|
|
//row: 19
|
|
d2[171]=simde_mm256_xor_si256(c2[1981],simde_mm256_xor_si256(c2[4861],simde_mm256_xor_si256(c2[1264],simde_mm256_xor_si256(c2[2702],simde_mm256_xor_si256(c2[380],simde_mm256_xor_si256(c2[3262],simde_mm256_xor_si256(c2[23],simde_mm256_xor_si256(c2[5058],simde_mm256_xor_si256(c2[5258],simde_mm256_xor_si256(c2[221],simde_mm256_xor_si256(c2[2036],simde_mm256_xor_si256(c2[1138],simde_mm256_xor_si256(c2[778],simde_mm256_xor_si256(c2[2956],simde_mm256_xor_si256(c2[4036],simde_mm256_xor_si256(c2[5473],simde_mm256_xor_si256(c2[1893],simde_mm256_xor_si256(c2[2251],simde_mm256_xor_si256(c2[4972],simde_mm256_xor_si256(c2[5151],simde_mm256_xor_si256(c2[3171],simde_mm256_xor_si256(c2[1930],simde_mm256_xor_si256(c2[4628],simde_mm256_xor_si256(c2[2487],simde_mm256_xor_si256(c2[4288],simde_mm256_xor_si256(c2[1589],simde_mm256_xor_si256(c2[1427],simde_mm256_xor_si256(c2[4844],c2[4305]))))))))))))))))))))))))))));
|
|
|
|
//row: 20
|
|
d2[180]=simde_mm256_xor_si256(c2[3062],simde_mm256_xor_si256(c2[2882],simde_mm256_xor_si256(c2[3],simde_mm256_xor_si256(c2[2165],simde_mm256_xor_si256(c2[1461],simde_mm256_xor_si256(c2[1281],simde_mm256_xor_si256(c2[4163],simde_mm256_xor_si256(c2[924],simde_mm256_xor_si256(c2[378],simde_mm256_xor_si256(c2[580],simde_mm256_xor_si256(c2[400],simde_mm256_xor_si256(c2[1122],simde_mm256_xor_si256(c2[3117],simde_mm256_xor_si256(c2[2937],simde_mm256_xor_si256(c2[2039],simde_mm256_xor_si256(c2[1679],simde_mm256_xor_si256(c2[3857],simde_mm256_xor_si256(c2[4937],simde_mm256_xor_si256(c2[615],simde_mm256_xor_si256(c2[1335],simde_mm256_xor_si256(c2[2794],simde_mm256_xor_si256(c2[3152],simde_mm256_xor_si256(c2[294],simde_mm256_xor_si256(c2[114],simde_mm256_xor_si256(c2[293],simde_mm256_xor_si256(c2[4072],simde_mm256_xor_si256(c2[2831],simde_mm256_xor_si256(c2[5529],simde_mm256_xor_si256(c2[3388],simde_mm256_xor_si256(c2[5189],simde_mm256_xor_si256(c2[2490],simde_mm256_xor_si256(c2[2508],simde_mm256_xor_si256(c2[2328],simde_mm256_xor_si256(c2[5745],c2[5206]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 21
|
|
d2[189]=simde_mm256_xor_si256(c2[3422],simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[2705],simde_mm256_xor_si256(c2[4862],simde_mm256_xor_si256(c2[1821],simde_mm256_xor_si256(c2[4703],simde_mm256_xor_si256(c2[1644],simde_mm256_xor_si256(c2[1464],simde_mm256_xor_si256(c2[940],simde_mm256_xor_si256(c2[1842],simde_mm256_xor_si256(c2[1662],simde_mm256_xor_si256(c2[3477],simde_mm256_xor_si256(c2[2579],simde_mm256_xor_si256(c2[2219],simde_mm256_xor_si256(c2[4397],simde_mm256_xor_si256(c2[5477],simde_mm256_xor_si256(c2[1335],simde_mm256_xor_si256(c2[1155],simde_mm256_xor_si256(c2[3334],simde_mm256_xor_si256(c2[3872],simde_mm256_xor_si256(c2[3692],simde_mm256_xor_si256(c2[654],simde_mm256_xor_si256(c2[833],simde_mm256_xor_si256(c2[4792],simde_mm256_xor_si256(c2[4612],simde_mm256_xor_si256(c2[3371],simde_mm256_xor_si256(c2[490],simde_mm256_xor_si256(c2[310],simde_mm256_xor_si256(c2[3928],simde_mm256_xor_si256(c2[5729],simde_mm256_xor_si256(c2[3210],simde_mm256_xor_si256(c2[3030],simde_mm256_xor_si256(c2[2126],simde_mm256_xor_si256(c2[2868],simde_mm256_xor_si256(c2[526],simde_mm256_xor_si256(c2[167],c2[5746]))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 22
|
|
d2[198]=simde_mm256_xor_si256(c2[3979],c2[760]);
|
|
|
|
//row: 23
|
|
d2[207]=simde_mm256_xor_si256(c2[722],simde_mm256_xor_si256(c2[3477],c2[4411]));
|
|
|
|
//row: 24
|
|
d2[216]=simde_mm256_xor_si256(c2[5418],simde_mm256_xor_si256(c2[1837],c2[1065]));
|
|
|
|
//row: 25
|
|
d2[225]=simde_mm256_xor_si256(c2[4],c2[5671]);
|
|
|
|
//row: 26
|
|
d2[234]=simde_mm256_xor_si256(c2[1263],simde_mm256_xor_si256(c2[1083],simde_mm256_xor_si256(c2[1264],simde_mm256_xor_si256(c2[4143],simde_mm256_xor_si256(c2[3963],simde_mm256_xor_si256(c2[4144],simde_mm256_xor_si256(c2[366],simde_mm256_xor_si256(c2[547],simde_mm256_xor_si256(c2[5421],simde_mm256_xor_si256(c2[5241],simde_mm256_xor_si256(c2[5422],simde_mm256_xor_si256(c2[2364],simde_mm256_xor_si256(c2[2545],simde_mm256_xor_si256(c2[4884],simde_mm256_xor_si256(c2[5245],simde_mm256_xor_si256(c2[5065],simde_mm256_xor_si256(c2[4540],simde_mm256_xor_si256(c2[4360],simde_mm256_xor_si256(c2[4541],simde_mm256_xor_si256(c2[5082],simde_mm256_xor_si256(c2[5443],simde_mm256_xor_si256(c2[5263],simde_mm256_xor_si256(c2[2560],simde_mm256_xor_si256(c2[1318],simde_mm256_xor_si256(c2[1138],simde_mm256_xor_si256(c2[1319],simde_mm256_xor_si256(c2[420],simde_mm256_xor_si256(c2[240],simde_mm256_xor_si256(c2[421],simde_mm256_xor_si256(c2[5639],simde_mm256_xor_si256(c2[61],simde_mm256_xor_si256(c2[2238],simde_mm256_xor_si256(c2[2058],simde_mm256_xor_si256(c2[2239],simde_mm256_xor_si256(c2[3138],simde_mm256_xor_si256(c2[3319],simde_mm256_xor_si256(c2[4575],simde_mm256_xor_si256(c2[4936],simde_mm256_xor_si256(c2[4756],simde_mm256_xor_si256(c2[1175],simde_mm256_xor_si256(c2[995],simde_mm256_xor_si256(c2[1176],simde_mm256_xor_si256(c2[1353],simde_mm256_xor_si256(c2[1714],simde_mm256_xor_si256(c2[1534],simde_mm256_xor_si256(c2[4254],simde_mm256_xor_si256(c2[4074],simde_mm256_xor_si256(c2[4255],simde_mm256_xor_si256(c2[4433],simde_mm256_xor_si256(c2[4253],simde_mm256_xor_si256(c2[4434],simde_mm256_xor_si256(c2[2273],simde_mm256_xor_si256(c2[2634],simde_mm256_xor_si256(c2[2454],simde_mm256_xor_si256(c2[1212],simde_mm256_xor_si256(c2[1032],simde_mm256_xor_si256(c2[1213],simde_mm256_xor_si256(c2[3730],simde_mm256_xor_si256(c2[4091],simde_mm256_xor_si256(c2[3911],simde_mm256_xor_si256(c2[5166],simde_mm256_xor_si256(c2[1769],simde_mm256_xor_si256(c2[1589],simde_mm256_xor_si256(c2[1770],simde_mm256_xor_si256(c2[3390],simde_mm256_xor_si256(c2[3571],simde_mm256_xor_si256(c2[691],simde_mm256_xor_si256(c2[1052],simde_mm256_xor_si256(c2[872],simde_mm256_xor_si256(c2[709],simde_mm256_xor_si256(c2[529],simde_mm256_xor_si256(c2[710],simde_mm256_xor_si256(c2[4126],simde_mm256_xor_si256(c2[3946],simde_mm256_xor_si256(c2[4127],simde_mm256_xor_si256(c2[3407],simde_mm256_xor_si256(c2[3768],c2[3588])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 27
|
|
d2[243]=simde_mm256_xor_si256(c2[2340],c2[1908]);
|
|
|
|
//row: 28
|
|
d2[252]=simde_mm256_xor_si256(c2[1821],simde_mm256_xor_si256(c2[2378],c2[2071]));
|
|
|
|
//row: 29
|
|
d2[261]=simde_mm256_xor_si256(c2[904],c2[4572]);
|
|
|
|
//row: 30
|
|
d2[270]=simde_mm256_xor_si256(c2[4178],simde_mm256_xor_si256(c2[4411],simde_mm256_xor_si256(c2[1569],c2[1244])));
|
|
|
|
//row: 31
|
|
d2[279]=simde_mm256_xor_si256(c2[2344],simde_mm256_xor_si256(c2[5224],simde_mm256_xor_si256(c2[1627],simde_mm256_xor_si256(c2[743],simde_mm256_xor_si256(c2[3625],simde_mm256_xor_si256(c2[566],simde_mm256_xor_si256(c2[386],simde_mm256_xor_si256(c2[2900],simde_mm256_xor_si256(c2[5621],simde_mm256_xor_si256(c2[764],simde_mm256_xor_si256(c2[584],simde_mm256_xor_si256(c2[2399],simde_mm256_xor_si256(c2[1501],simde_mm256_xor_si256(c2[1141],simde_mm256_xor_si256(c2[3319],simde_mm256_xor_si256(c2[4399],simde_mm256_xor_si256(c2[257],simde_mm256_xor_si256(c2[77],simde_mm256_xor_si256(c2[2256],simde_mm256_xor_si256(c2[2794],simde_mm256_xor_si256(c2[2614],simde_mm256_xor_si256(c2[5335],simde_mm256_xor_si256(c2[5514],simde_mm256_xor_si256(c2[3714],simde_mm256_xor_si256(c2[3534],simde_mm256_xor_si256(c2[2293],simde_mm256_xor_si256(c2[5171],simde_mm256_xor_si256(c2[4991],simde_mm256_xor_si256(c2[2850],simde_mm256_xor_si256(c2[4651],simde_mm256_xor_si256(c2[2132],simde_mm256_xor_si256(c2[1952],simde_mm256_xor_si256(c2[1790],simde_mm256_xor_si256(c2[5207],simde_mm256_xor_si256(c2[4848],c2[4668])))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 32
|
|
d2[288]=simde_mm256_xor_si256(c2[1802],simde_mm256_xor_si256(c2[1622],simde_mm256_xor_si256(c2[4682],simde_mm256_xor_si256(c2[4502],simde_mm256_xor_si256(c2[905],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[201],simde_mm256_xor_si256(c2[21],simde_mm256_xor_si256(c2[2903],simde_mm256_xor_si256(c2[5423],simde_mm256_xor_si256(c2[5079],simde_mm256_xor_si256(c2[4899],simde_mm256_xor_si256(c2[5621],simde_mm256_xor_si256(c2[1857],simde_mm256_xor_si256(c2[1677],simde_mm256_xor_si256(c2[959],simde_mm256_xor_si256(c2[779],simde_mm256_xor_si256(c2[419],simde_mm256_xor_si256(c2[2777],simde_mm256_xor_si256(c2[2597],simde_mm256_xor_si256(c2[3677],simde_mm256_xor_si256(c2[5114],simde_mm256_xor_si256(c2[1714],simde_mm256_xor_si256(c2[1534],simde_mm256_xor_si256(c2[1892],simde_mm256_xor_si256(c2[4592],simde_mm256_xor_si256(c2[4793],simde_mm256_xor_si256(c2[4613],simde_mm256_xor_si256(c2[4972],simde_mm256_xor_si256(c2[4792],simde_mm256_xor_si256(c2[2812],simde_mm256_xor_si256(c2[1751],simde_mm256_xor_si256(c2[1571],simde_mm256_xor_si256(c2[4269],simde_mm256_xor_si256(c2[2308],simde_mm256_xor_si256(c2[2128],simde_mm256_xor_si256(c2[3929],simde_mm256_xor_si256(c2[1230],simde_mm256_xor_si256(c2[1248],simde_mm256_xor_si256(c2[1068],simde_mm256_xor_si256(c2[4665],simde_mm256_xor_si256(c2[4485],c2[3946]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 33
|
|
d2[297]=simde_mm256_xor_si256(c2[720],simde_mm256_xor_si256(c2[3600],simde_mm256_xor_si256(c2[3],simde_mm256_xor_si256(c2[4878],simde_mm256_xor_si256(c2[2001],simde_mm256_xor_si256(c2[4521],simde_mm256_xor_si256(c2[3997],simde_mm256_xor_si256(c2[4719],simde_mm256_xor_si256(c2[1300],simde_mm256_xor_si256(c2[775],simde_mm256_xor_si256(c2[5636],simde_mm256_xor_si256(c2[5276],simde_mm256_xor_si256(c2[1695],simde_mm256_xor_si256(c2[2775],simde_mm256_xor_si256(c2[4212],simde_mm256_xor_si256(c2[632],simde_mm256_xor_si256(c2[990],simde_mm256_xor_si256(c2[3711],simde_mm256_xor_si256(c2[3890],simde_mm256_xor_si256(c2[1910],simde_mm256_xor_si256(c2[669],simde_mm256_xor_si256(c2[3367],simde_mm256_xor_si256(c2[1206],simde_mm256_xor_si256(c2[1226],simde_mm256_xor_si256(c2[3027],simde_mm256_xor_si256(c2[328],simde_mm256_xor_si256(c2[166],simde_mm256_xor_si256(c2[3583],c2[3044]))))))))))))))))))))))))))));
|
|
|
|
//row: 34
|
|
d2[306]=simde_mm256_xor_si256(c2[5040],simde_mm256_xor_si256(c2[4860],simde_mm256_xor_si256(c2[3603],simde_mm256_xor_si256(c2[2161],simde_mm256_xor_si256(c2[1981],simde_mm256_xor_si256(c2[724],simde_mm256_xor_si256(c2[4143],simde_mm256_xor_si256(c2[2886],simde_mm256_xor_si256(c2[901],simde_mm256_xor_si256(c2[3439],simde_mm256_xor_si256(c2[3259],simde_mm256_xor_si256(c2[2002],simde_mm256_xor_si256(c2[382],simde_mm256_xor_si256(c2[4884],simde_mm256_xor_si256(c2[2902],simde_mm256_xor_si256(c2[1825],simde_mm256_xor_si256(c2[1645],simde_mm256_xor_si256(c2[2558],simde_mm256_xor_si256(c2[2378],simde_mm256_xor_si256(c2[1121],simde_mm256_xor_si256(c2[3100],simde_mm256_xor_si256(c2[2023],simde_mm256_xor_si256(c2[1843],simde_mm256_xor_si256(c2[5095],simde_mm256_xor_si256(c2[4915],simde_mm256_xor_si256(c2[3658],simde_mm256_xor_si256(c2[4197],simde_mm256_xor_si256(c2[4017],simde_mm256_xor_si256(c2[2760],simde_mm256_xor_si256(c2[3657],simde_mm256_xor_si256(c2[2400],simde_mm256_xor_si256(c2[256],simde_mm256_xor_si256(c2[76],simde_mm256_xor_si256(c2[4578],simde_mm256_xor_si256(c2[1156],simde_mm256_xor_si256(c2[5658],simde_mm256_xor_si256(c2[2593],simde_mm256_xor_si256(c2[1516],simde_mm256_xor_si256(c2[1336],simde_mm256_xor_si256(c2[4952],simde_mm256_xor_si256(c2[4772],simde_mm256_xor_si256(c2[3515],simde_mm256_xor_si256(c2[5130],simde_mm256_xor_si256(c2[4053],simde_mm256_xor_si256(c2[3873],simde_mm256_xor_si256(c2[2272],simde_mm256_xor_si256(c2[2092],simde_mm256_xor_si256(c2[835],simde_mm256_xor_si256(c2[2451],simde_mm256_xor_si256(c2[2271],simde_mm256_xor_si256(c2[1014],simde_mm256_xor_si256(c2[291],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[4793],simde_mm256_xor_si256(c2[4989],simde_mm256_xor_si256(c2[4809],simde_mm256_xor_si256(c2[3552],simde_mm256_xor_si256(c2[1748],simde_mm256_xor_si256(c2[671],simde_mm256_xor_si256(c2[491],simde_mm256_xor_si256(c2[5546],simde_mm256_xor_si256(c2[5366],simde_mm256_xor_si256(c2[4109],simde_mm256_xor_si256(c2[1408],simde_mm256_xor_si256(c2[151],simde_mm256_xor_si256(c2[4468],simde_mm256_xor_si256(c2[3391],simde_mm256_xor_si256(c2[3211],simde_mm256_xor_si256(c2[4486],simde_mm256_xor_si256(c2[4306],simde_mm256_xor_si256(c2[3049],simde_mm256_xor_si256(c2[2144],simde_mm256_xor_si256(c2[1964],simde_mm256_xor_si256(c2[707],simde_mm256_xor_si256(c2[1425],simde_mm256_xor_si256(c2[348],c2[168]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 35
|
|
d2[315]=simde_mm256_xor_si256(c2[3],simde_mm256_xor_si256(c2[5582],simde_mm256_xor_si256(c2[2703],simde_mm256_xor_si256(c2[4865],simde_mm256_xor_si256(c2[4161],simde_mm256_xor_si256(c2[3981],simde_mm256_xor_si256(c2[1104],simde_mm256_xor_si256(c2[3624],simde_mm256_xor_si256(c2[5059],simde_mm256_xor_si256(c2[3280],simde_mm256_xor_si256(c2[3100],simde_mm256_xor_si256(c2[3822],simde_mm256_xor_si256(c2[58],simde_mm256_xor_si256(c2[5637],simde_mm256_xor_si256(c2[4739],simde_mm256_xor_si256(c2[4379],simde_mm256_xor_si256(c2[798],simde_mm256_xor_si256(c2[1878],simde_mm256_xor_si256(c2[3315],simde_mm256_xor_si256(c2[5494],simde_mm256_xor_si256(c2[93],simde_mm256_xor_si256(c2[1714],simde_mm256_xor_si256(c2[2994],simde_mm256_xor_si256(c2[2814],simde_mm256_xor_si256(c2[2993],simde_mm256_xor_si256(c2[1013],simde_mm256_xor_si256(c2[5531],simde_mm256_xor_si256(c2[2470],simde_mm256_xor_si256(c2[329],simde_mm256_xor_si256(c2[2130],simde_mm256_xor_si256(c2[5190],simde_mm256_xor_si256(c2[5208],simde_mm256_xor_si256(c2[5028],simde_mm256_xor_si256(c2[2686],c2[2147]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 36
|
|
d2[324]=simde_mm256_xor_si256(c2[4503],simde_mm256_xor_si256(c2[220],c2[4806]));
|
|
|
|
//row: 37
|
|
d2[333]=simde_mm256_xor_si256(c2[543],simde_mm256_xor_si256(c2[4681],simde_mm256_xor_si256(c2[3423],simde_mm256_xor_si256(c2[1802],simde_mm256_xor_si256(c2[5585],simde_mm256_xor_si256(c2[3964],simde_mm256_xor_si256(c2[4701],simde_mm256_xor_si256(c2[3080],simde_mm256_xor_si256(c2[1824],simde_mm256_xor_si256(c2[203],simde_mm256_xor_si256(c2[4344],simde_mm256_xor_si256(c2[2903],simde_mm256_xor_si256(c2[2723],simde_mm256_xor_si256(c2[3820],simde_mm256_xor_si256(c2[2199],simde_mm256_xor_si256(c2[4542],simde_mm256_xor_si256(c2[3101],simde_mm256_xor_si256(c2[2921],simde_mm256_xor_si256(c2[598],simde_mm256_xor_si256(c2[4736],simde_mm256_xor_si256(c2[5459],simde_mm256_xor_si256(c2[3838],simde_mm256_xor_si256(c2[5099],simde_mm256_xor_si256(c2[3478],simde_mm256_xor_si256(c2[1518],simde_mm256_xor_si256(c2[5656],simde_mm256_xor_si256(c2[2598],simde_mm256_xor_si256(c2[977],simde_mm256_xor_si256(c2[4035],simde_mm256_xor_si256(c2[2594],simde_mm256_xor_si256(c2[2414],simde_mm256_xor_si256(c2[455],simde_mm256_xor_si256(c2[4593],simde_mm256_xor_si256(c2[813],simde_mm256_xor_si256(c2[5131],simde_mm256_xor_si256(c2[4951],simde_mm256_xor_si256(c2[3534],simde_mm256_xor_si256(c2[1913],simde_mm256_xor_si256(c2[3713],simde_mm256_xor_si256(c2[2092],simde_mm256_xor_si256(c2[1733],simde_mm256_xor_si256(c2[292],simde_mm256_xor_si256(c2[112],simde_mm256_xor_si256(c2[492],simde_mm256_xor_si256(c2[4630],simde_mm256_xor_si256(c2[3190],simde_mm256_xor_si256(c2[1749],simde_mm256_xor_si256(c2[1569],simde_mm256_xor_si256(c2[1049],simde_mm256_xor_si256(c2[5187],simde_mm256_xor_si256(c2[2850],simde_mm256_xor_si256(c2[1229],simde_mm256_xor_si256(c2[151],simde_mm256_xor_si256(c2[4469],simde_mm256_xor_si256(c2[4289],simde_mm256_xor_si256(c2[5748],simde_mm256_xor_si256(c2[4127],simde_mm256_xor_si256(c2[3406],simde_mm256_xor_si256(c2[1785],simde_mm256_xor_si256(c2[2867],simde_mm256_xor_si256(c2[1426],c2[1246])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 38
|
|
d2[342]=simde_mm256_xor_si256(c2[720],simde_mm256_xor_si256(c2[540],simde_mm256_xor_si256(c2[3420],simde_mm256_xor_si256(c2[5582],simde_mm256_xor_si256(c2[4878],simde_mm256_xor_si256(c2[4698],simde_mm256_xor_si256(c2[1821],simde_mm256_xor_si256(c2[4341],simde_mm256_xor_si256(c2[198],simde_mm256_xor_si256(c2[3997],simde_mm256_xor_si256(c2[3817],simde_mm256_xor_si256(c2[4539],simde_mm256_xor_si256(c2[775],simde_mm256_xor_si256(c2[595],simde_mm256_xor_si256(c2[5456],simde_mm256_xor_si256(c2[5096],simde_mm256_xor_si256(c2[1515],simde_mm256_xor_si256(c2[2595],simde_mm256_xor_si256(c2[4032],simde_mm256_xor_si256(c2[452],simde_mm256_xor_si256(c2[810],simde_mm256_xor_si256(c2[1172],simde_mm256_xor_si256(c2[3711],simde_mm256_xor_si256(c2[3531],simde_mm256_xor_si256(c2[3710],simde_mm256_xor_si256(c2[1730],simde_mm256_xor_si256(c2[489],simde_mm256_xor_si256(c2[3187],simde_mm256_xor_si256(c2[1046],simde_mm256_xor_si256(c2[2847],simde_mm256_xor_si256(c2[148],simde_mm256_xor_si256(c2[166],simde_mm256_xor_si256(c2[5745],simde_mm256_xor_si256(c2[3403],c2[2864]))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 39
|
|
d2[351]=simde_mm256_xor_si256(c2[3064],simde_mm256_xor_si256(c2[2884],simde_mm256_xor_si256(c2[185],simde_mm256_xor_si256(c2[5],simde_mm256_xor_si256(c2[2167],simde_mm256_xor_si256(c2[4143],simde_mm256_xor_si256(c2[1463],simde_mm256_xor_si256(c2[1283],simde_mm256_xor_si256(c2[4165],simde_mm256_xor_si256(c2[926],simde_mm256_xor_si256(c2[582],simde_mm256_xor_si256(c2[402],simde_mm256_xor_si256(c2[1124],simde_mm256_xor_si256(c2[3119],simde_mm256_xor_si256(c2[2939],simde_mm256_xor_si256(c2[2221],simde_mm256_xor_si256(c2[2041],simde_mm256_xor_si256(c2[1681],simde_mm256_xor_si256(c2[4039],simde_mm256_xor_si256(c2[3859],simde_mm256_xor_si256(c2[4939],simde_mm256_xor_si256(c2[617],simde_mm256_xor_si256(c2[2976],simde_mm256_xor_si256(c2[2796],simde_mm256_xor_si256(c2[3154],simde_mm256_xor_si256(c2[296],simde_mm256_xor_si256(c2[116],simde_mm256_xor_si256(c2[475],simde_mm256_xor_si256(c2[295],simde_mm256_xor_si256(c2[4074],simde_mm256_xor_si256(c2[3013],simde_mm256_xor_si256(c2[2833],simde_mm256_xor_si256(c2[5531],simde_mm256_xor_si256(c2[127],simde_mm256_xor_si256(c2[3570],simde_mm256_xor_si256(c2[3390],simde_mm256_xor_si256(c2[5191],simde_mm256_xor_si256(c2[2492],simde_mm256_xor_si256(c2[2510],simde_mm256_xor_si256(c2[2330],simde_mm256_xor_si256(c2[168],simde_mm256_xor_si256(c2[5747],c2[5208]))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 40
|
|
d2[360]=simde_mm256_xor_si256(c2[1982],simde_mm256_xor_si256(c2[1443],simde_mm256_xor_si256(c2[4862],simde_mm256_xor_si256(c2[4323],simde_mm256_xor_si256(c2[1265],simde_mm256_xor_si256(c2[726],simde_mm256_xor_si256(c2[381],simde_mm256_xor_si256(c2[5601],simde_mm256_xor_si256(c2[3263],simde_mm256_xor_si256(c2[2724],simde_mm256_xor_si256(c2[24],simde_mm256_xor_si256(c2[5424],simde_mm256_xor_si256(c2[5244],simde_mm256_xor_si256(c2[5259],simde_mm256_xor_si256(c2[4720],simde_mm256_xor_si256(c2[222],simde_mm256_xor_si256(c2[5622],simde_mm256_xor_si256(c2[5442],simde_mm256_xor_si256(c2[1116],simde_mm256_xor_si256(c2[2037],simde_mm256_xor_si256(c2[1498],simde_mm256_xor_si256(c2[1139],simde_mm256_xor_si256(c2[600],simde_mm256_xor_si256(c2[779],simde_mm256_xor_si256(c2[240],simde_mm256_xor_si256(c2[2957],simde_mm256_xor_si256(c2[2418],simde_mm256_xor_si256(c2[4037],simde_mm256_xor_si256(c2[3498],simde_mm256_xor_si256(c2[5474],simde_mm256_xor_si256(c2[5115],simde_mm256_xor_si256(c2[4935],simde_mm256_xor_si256(c2[1894],simde_mm256_xor_si256(c2[1355],simde_mm256_xor_si256(c2[2252],simde_mm256_xor_si256(c2[1893],simde_mm256_xor_si256(c2[1713],simde_mm256_xor_si256(c2[4973],simde_mm256_xor_si256(c2[4434],simde_mm256_xor_si256(c2[5152],simde_mm256_xor_si256(c2[4613],simde_mm256_xor_si256(c2[3172],simde_mm256_xor_si256(c2[2813],simde_mm256_xor_si256(c2[2633],simde_mm256_xor_si256(c2[1931],simde_mm256_xor_si256(c2[1392],simde_mm256_xor_si256(c2[4629],simde_mm256_xor_si256(c2[4270],simde_mm256_xor_si256(c2[4090],simde_mm256_xor_si256(c2[2488],simde_mm256_xor_si256(c2[1949],simde_mm256_xor_si256(c2[4289],simde_mm256_xor_si256(c2[3750],simde_mm256_xor_si256(c2[1590],simde_mm256_xor_si256(c2[1231],simde_mm256_xor_si256(c2[1051],simde_mm256_xor_si256(c2[1428],simde_mm256_xor_si256(c2[889],simde_mm256_xor_si256(c2[4845],simde_mm256_xor_si256(c2[4306],simde_mm256_xor_si256(c2[4306],simde_mm256_xor_si256(c2[3947],c2[3767]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
|
|
|
//row: 41
|
|
d2[369]=simde_mm256_xor_si256(c2[3960],simde_mm256_xor_si256(c2[3780],simde_mm256_xor_si256(c2[901],simde_mm256_xor_si256(c2[3063],simde_mm256_xor_si256(c2[2359],simde_mm256_xor_si256(c2[2179],simde_mm256_xor_si256(c2[5061],simde_mm256_xor_si256(c2[1822],simde_mm256_xor_si256(c2[2899],simde_mm256_xor_si256(c2[1478],simde_mm256_xor_si256(c2[1298],simde_mm256_xor_si256(c2[2020],simde_mm256_xor_si256(c2[4015],simde_mm256_xor_si256(c2[3835],simde_mm256_xor_si256(c2[2937],simde_mm256_xor_si256(c2[2577],simde_mm256_xor_si256(c2[4755],simde_mm256_xor_si256(c2[76],simde_mm256_xor_si256(c2[1513],simde_mm256_xor_si256(c2[3692],simde_mm256_xor_si256(c2[4050],simde_mm256_xor_si256(c2[2791],simde_mm256_xor_si256(c2[1192],simde_mm256_xor_si256(c2[1012],simde_mm256_xor_si256(c2[1191],simde_mm256_xor_si256(c2[4970],simde_mm256_xor_si256(c2[3729],simde_mm256_xor_si256(c2[668],simde_mm256_xor_si256(c2[4286],simde_mm256_xor_si256(c2[328],simde_mm256_xor_si256(c2[3388],simde_mm256_xor_si256(c2[3406],simde_mm256_xor_si256(c2[3226],simde_mm256_xor_si256(c2[884],c2[345]))))))))))))))))))))))))))))))))));
|
|
}
|
|
}
|
|
#endif
|