From 0942927308d1fba5aa0a27112a56db6d971f0d6b Mon Sep 17 00:00:00 2001 From: ndomingues Date: Thu, 28 Aug 2025 16:49:52 +0100 Subject: [PATCH 01/13] Fix RA 2-Step MgsB Ack at UE Update condition to prepare MsgB Ack the same way as Msg4 Ack --- openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c index de5ae571ca..8bf781a7df 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c @@ -1190,7 +1190,7 @@ void update_harq_status(NR_UE_MAC_INST_t *mac, uint8_t harq_pid, uint8_t ack_nac if (current_harq->active) { LOG_D(PHY,"Updating harq_status for harq_id %d, ack/nak %d\n", harq_pid, current_harq->ack); // we can prepare feedback for MSG4 in advance - if (mac->ra.ra_state == nrRA_WAIT_CONTENTION_RESOLUTION) + if (mac->ra.ra_state == nrRA_WAIT_CONTENTION_RESOLUTION || mac->ra.ra_state == nrRA_WAIT_MSGB) prepare_msg4_msgb_feedback(mac, harq_pid, ack_nack); else { current_harq->ack = ack_nack; From 169de8cdca7c290b1bcc18869922669051b55518 Mon Sep 17 00:00:00 2001 From: francescomani Date: Fri, 29 Aug 2025 15:04:55 +0200 Subject: [PATCH 02/13] remove unnecessary input in get_cce_index --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c | 4 +--- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c | 2 -- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c | 2 -- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c | 3 +-- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c | 2 -- openair2/LAYER2/NR_MAC_gNB/mac_proto.h | 1 - 6 files changed, 2 insertions(+), 12 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c index 6e93e0467c..16bf8c5009 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c @@ -915,7 +915,6 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP, ss, coreset, &UE->UE_sched_ctrl.sched_pdcch, - true, 0); if (CCEIndex < 0) { LOG_E(NR_MAC, "UE %04x cannot find free CCE!\n", UE->rnti); @@ -1507,7 +1506,7 @@ static void nr_generate_Msg2(module_id_t module_idP, } uint8_t aggregation_level; - int CCEIndex = get_cce_index(nr_mac, CC_id, slotP, 0, &aggregation_level, beam.idx, ss, coreset, &sched_ctrl->sched_pdcch, true, 0); + int CCEIndex = get_cce_index(nr_mac, CC_id, slotP, 0, &aggregation_level, beam.idx, ss, coreset, &sched_ctrl->sched_pdcch, 0); if (CCEIndex < 0) { LOG_W(NR_MAC, "UE %04x: %d.%d cannot find free CCE for Msg2!\n", UE->rnti, frameP, slotP); @@ -1707,7 +1706,6 @@ static void nr_generate_Msg4_MsgB(module_id_t module_idP, ss, coreset, &sched_ctrl->sched_pdcch, - true, 0); if (CCEIndex < 0) { diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c index 8befbe4833..d60ba6174d 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c @@ -551,7 +551,6 @@ static bool allocate_dl_retransmission(module_id_t module_id, sched_ctrl->search_space, sched_ctrl->coreset, &sched_ctrl->sched_pdcch, - false, sched_ctrl->pdcch_cl_adjust); if (CCEIndex<0) { sched_ctrl->dl_cce_fail++; @@ -811,7 +810,6 @@ static void pf_dl(module_id_t module_id, sched_ctrl->search_space, sched_ctrl->coreset, &sched_ctrl->sched_pdcch, - false, sched_ctrl->pdcch_cl_adjust); if (CCEIndex < 0) { sched_ctrl->dl_cce_fail++; diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c index 26b48ab998..5ec7bf781d 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c @@ -139,7 +139,6 @@ void nr_preprocessor_phytest(module_id_t module_id, frame_t frame, slot_t slot) sched_ctrl->search_space, sched_ctrl->coreset, &sched_ctrl->sched_pdcch, - false, 0); AssertFatal(CCEIndex >= 0, "Could not find CCE for UE %04x\n", UE->rnti); @@ -286,7 +285,6 @@ void nr_ul_preprocessor_phytest(gNB_MAC_INST *nr_mac, post_process_pusch_t *pp_p sched_ctrl->search_space, sched_ctrl->coreset, &sched_ctrl->sched_pdcch, - false, 0); if (CCEIndex < 0) { LOG_E(MAC, "%s(): CCE list not empty, couldn't schedule PUSCH\n", __func__); diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c index 264150f314..cb3329b34b 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c @@ -572,10 +572,9 @@ int get_cce_index(const gNB_MAC_INST *nrmac, const NR_SearchSpace_t *ss, const NR_ControlResourceSet_t *coreset, NR_sched_pdcch_t *sched_pdcch, - bool is_common, float pdcch_cl_adjust) { - const uint32_t Y = is_common ? 0 : get_Y(ss, slot, rnti); + const uint32_t Y = get_Y(ss, slot, rnti); uint8_t nr_of_candidates; int agg_level_search_order[NUM_PDCCH_AGG_LEVELS]; diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index 09044e9170..e1a312d9e0 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -1876,7 +1876,6 @@ static bool allocate_ul_retransmission(gNB_MAC_INST *nrmac, sched_ctrl->search_space, sched_ctrl->coreset, &sched_ctrl->sched_pdcch, - false, sched_ctrl->pdcch_cl_adjust); if (CCEIndex<0) { LOG_D(NR_MAC, "[UE %04x][%4d.%2d] no free CCE for retransmission UL DCI UE\n", UE->rnti, frame, slot); @@ -2125,7 +2124,6 @@ static int pf_ul(gNB_MAC_INST *nrmac, sched_ctrl->search_space, sched_ctrl->coreset, &sched_ctrl->sched_pdcch, - false, sched_ctrl->pdcch_cl_adjust); if (CCEIndex < 0) { diff --git a/openair2/LAYER2/NR_MAC_gNB/mac_proto.h b/openair2/LAYER2/NR_MAC_gNB/mac_proto.h index ff827ab68a..84a0923e8b 100644 --- a/openair2/LAYER2/NR_MAC_gNB/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_gNB/mac_proto.h @@ -431,7 +431,6 @@ int get_cce_index(const gNB_MAC_INST *nrmac, const NR_SearchSpace_t *ss, const NR_ControlResourceSet_t *coreset, NR_sched_pdcch_t *sched_pdcch, - bool is_common, float pdcch_cl_adjust); bool nr_find_nb_rb(uint16_t Qm, From 15bb046f9cbc10be0e95955c7bfe7f075af1de60 Mon Sep 17 00:00:00 2001 From: francescomani Date: Mon, 1 Sep 2025 17:25:01 +0200 Subject: [PATCH 03/13] adding a missing beam reaset in pf_dl --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c | 1 + 1 file changed, 1 insertion(+) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c index d60ba6174d..df5c8e1474 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c @@ -797,6 +797,7 @@ static void pf_dl(module_id_t module_id, rbStart, max_rbSize, rbStop); + reset_beam_status(&mac->beam_info, frame, slot, iterator->UE->UE_beam_index, slots_per_frame, beam.new_beam); iterator++; continue; } From 2e1543073105830780c32de797b1d2c51c1c00bf Mon Sep 17 00:00:00 2001 From: francescomani Date: Mon, 1 Sep 2025 18:46:22 +0200 Subject: [PATCH 04/13] adding other missing beam reaset in RA functions --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c index 16bf8c5009..715feb5b33 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c @@ -856,6 +856,8 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP, } if (rbStart > (sched_pusch.bwp_info.bwpSize - ra->msg3_nb_rb)) { // cannot find free vrb_map for msg3 retransmission in this slot + reset_beam_status(&nr_mac->beam_info, sched_frame, sched_slot, UE->UE_beam_index, slots_frame, beam_ul.new_beam); + reset_beam_status(&nr_mac->beam_info, frame, slot, UE->UE_beam_index, slots_frame, beam_dci.new_beam); return; } @@ -918,6 +920,8 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP, 0); if (CCEIndex < 0) { LOG_E(NR_MAC, "UE %04x cannot find free CCE!\n", UE->rnti); + reset_beam_status(&nr_mac->beam_info, sched_frame, sched_slot, UE->UE_beam_index, slots_frame, beam_ul.new_beam); + reset_beam_status(&nr_mac->beam_info, frame, slot, UE->UE_beam_index, slots_frame, beam_dci.new_beam); return; } @@ -1733,8 +1737,10 @@ static void nr_generate_Msg4_MsgB(module_id_t module_idP, TYPE_TC_RNTI_, coreset->controlResourceSetId, false); - if (!msg4_tda.valid_tda) + if (!msg4_tda.valid_tda) { + reset_beam_status(&nr_mac->beam_info, frameP, slotP, UE->UE_beam_index, n_slots_frame, beam.new_beam); return; + } NR_pdsch_dmrs_t dmrs_info = get_dl_dmrs_params(scc, dl_bwp, &msg4_tda, 1); bwp_info_t bwp_info = get_pdsch_bwp_start_size(nr_mac, UE); From 741e9ffae9c7bf144b5d02328678633601d2d3cd Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 1 Sep 2025 13:57:52 +0200 Subject: [PATCH 05/13] Simplify cross-compilation Dockerfile Redirect to files and manual analysis as done in this Dockerfile is not necessary since we just output all relevant build files to stdout. Simplify to do the same here. See: 35361db76b91 ("build_oai: don't redirect compilations to a file") --- docker/Dockerfile.build.ubuntu.cross-arm64 | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/docker/Dockerfile.build.ubuntu.cross-arm64 b/docker/Dockerfile.build.ubuntu.cross-arm64 index a7978bb6fa..b7bc7d6dbb 100644 --- a/docker/Dockerfile.build.ubuntu.cross-arm64 +++ b/docker/Dockerfile.build.ubuntu.cross-arm64 @@ -37,20 +37,11 @@ RUN /bin/sh oaienv && \ mkdir -p log ran_build/build ran_build/build-cross && \ cd ran_build/build && \ cmake ../../.. -GNinja && \ - echo "====== Start of log for host-tools ======" && \ - ninja ldpc_generators generate_T > ../../log/host-tools.txt 2>&1 && \ - echo "====== End of log for host-tools ======" && \ + ninja ldpc_generators generate_T && \ cd ../build-cross/ && \ # install missing libyaml-cpp-dev for arm64 apt install -y libyaml-cpp-dev:arm64 && \ cmake ../../.. -GNinja -DENABLE_TELNETSRV=ON \ -DCMAKE_TOOLCHAIN_FILE=../../../cmake_targets/cross-arm.cmake -DNATIVE_DIR=../build \ -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror" && \ - echo "====== Start of log for cross-build executables ======" && \ - # making always passing so we can analyze the all.txt file - ninja -k10 dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim lte-softmodem nr-softmodem nr-cuup oairu lte-uesoftmodem nr-uesoftmodem params_libconfig coding rfsimulator telnetsrv > ../../log/all.txt 2>&1; \ - # displaying errors and warnings - grep -E -A3 "warning:|error:" ../../log/all.txt || true && \ - # will fail only if string "errors:" is found - grep -E "error:" -vqz ../../log/all.txt && \ - echo "====== End of log for cross-build executables ======" + ninja -k10 dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim lte-softmodem nr-softmodem nr-cuup oairu lte-uesoftmodem nr-uesoftmodem params_libconfig coding rfsimulator telnetsrv From 53813f522cb6e1c0cbf629412e9f7d308c38f650 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Mon, 1 Sep 2025 16:02:31 +0200 Subject: [PATCH 06/13] Change target architecture in arm container build to armv8.2-a This enables some additional instructions needed in the follow-up commit. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a71b1c3ea2..fa2d497589 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -170,7 +170,7 @@ endif() if (NOT CROSS_COMPILE) set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -march=native") else () - set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -march=armv8-a") + set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -march=armv8.2-a") endif() # add autotools definitions that were maybe used! From 5e3e8a70ff0d21460b381b2b90bd6449b8776e7d Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 27 Aug 2025 20:06:47 +0000 Subject: [PATCH 07/13] addition of aarch64 native implementation for rotate_cpx_vector for the case output_shift=15 --- openair1/PHY/TOOLS/tools_defs.h | 46 ++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/openair1/PHY/TOOLS/tools_defs.h b/openair1/PHY/TOOLS/tools_defs.h index 15c646c20e..9ee558c72b 100644 --- a/openair1/PHY/TOOLS/tools_defs.h +++ b/openair1/PHY/TOOLS/tools_defs.h @@ -828,6 +828,47 @@ static inline void rotate_cpx_vector(const c16_t *const x, const c16_t *const al // log2_amp - increase the output amplitude by a factor 2^log2_amp (default is 0) // WARNING: log2_amp>0 can cause overflow!! + +#ifdef __aarch64__ + if (output_shift == 15) { // allows specific NEON instruction + + int16x8_t ar = (int16x8_t)vdupq_n_s16(alpha->r); + int16x8_t ai = (int16x8_t)vdupq_n_s16(alpha->i); + int16x8_t *y_128 = (int16x8_t *)y; + int16x8_t *x_128 = (int16x8_t *)x; + for (uint32_t i = 0; i < (N >> 2); i++) { + // Split interleaved -> separate real/imag + int16x8_t br = vuzp1q_s16(x_128[i], x_128[i]); + int16x8_t bi = vuzp2q_s16(x_128[i], x_128[i]); + + // Start with the two “diagonal” products using high-half, doubling, sat: + // x = round( (2*ar*br) / 2^16 ), y = round( (2*ar*bi) / 2^16 ) + int16x8_t real = vqdmulhq_s16(ar, br); + int16x8_t imag = vqdmulhq_s16(ar, bi); + + // real -= round( (2*ai*bi) / 2^16 ) + real = vqrdmlshq_s16(real, ai, bi); + + // imag += round( (2*ai*br) / 2^16 ) + imag = vqrdmlahq_s16(imag, ai, br); + + // Re-interleave [real, imag] + int16x8x2_t z = vzipq_s16(real, imag); + + y_128[i] = z.val[0]; + /* + printf("y : (%d %d) (%d %d) (%d %d) (%d %d)\n", + vgetq_lane_s16(y_128[i],0), + vgetq_lane_s16(y_128[i],1), + vgetq_lane_s16(y_128[i],2), + vgetq_lane_s16(y_128[i],3), + vgetq_lane_s16(y_128[i],4), + vgetq_lane_s16(y_128[i],5), + vgetq_lane_s16(y_128[i],6), + vgetq_lane_s16(y_128[i],7));*/ + } + } else { +#endif uint32_t i; // loop counter simd_q15_t *y_128, alpha_128; @@ -859,7 +900,10 @@ static inline void rotate_cpx_vector(const c16_t *const x, const c16_t *const al shift)); // print_ints("y_128[0]=", &y_128[0]); } -#if defined(__x86__) || defined(__x86_64__) +#ifdef __aarch64__ + } +#endif //__aarch64__ +#if defined(__x86_64__) || defined(__i386__) } #endif } From 48d19e8a9192567ae694fa949f17f028f2902192 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Tue, 2 Sep 2025 08:47:42 +0200 Subject: [PATCH 08/13] Add reset of dlsch_precoding timing counter in nr_dlsim --- openair1/SIMULATION/NR_PHY/dlsim.c | 1 + 1 file changed, 1 insertion(+) diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c index 0f21fdb145..611af32ac5 100644 --- a/openair1/SIMULATION/NR_PHY/dlsim.c +++ b/openair1/SIMULATION/NR_PHY/dlsim.c @@ -1033,6 +1033,7 @@ printf("%d\n", slot); reset_meas(&gNB->dlsch_rate_matching_stats); reset_meas(&gNB->dlsch_segmentation_stats); reset_meas(&gNB->dlsch_modulation_stats); + reset_meas(&gNB->dlsch_precoding_stats); reset_meas(&gNB->dlsch_encoding_stats); reset_meas(&gNB->dci_generation_stats); reset_meas(&gNB->tinput); From 0e09c7c3471a01a7b7f9723235ce744cea1fca49 Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Wed, 27 Aug 2025 19:54:07 +0000 Subject: [PATCH 09/13] Add changes for avx512/aarch64 ldpc encoder optimizations newly-generated files for innermost part of the parity bit generation which, for AVX512, uses the mm512_permutex2var_epi8 instruction and for 128-bit (aarch64) the mm_alignr_epi8 (vextq_s8) in the computation corresponding to each non-zero bit of the H matrix. It is generated with ldpctest -n0 -g1. the changes for this are in a future MR. I did these changes to compare with the GPU version (ldpc_encoder_cuda), so that the CPU version is as fast as possible. The generator will come when we merge the GPU encoder/decoder which also has a generator for the CUDA version. it was difficult to extract the changes in ldpctest/ldpc_encoder.c so I just took the generated file. This allows for removing a very large memcpy and reduces the memory demand for the parity matrix computation. For the moment this is limited to largest case in BG1, namely Zc=384. This is the only format used when the number of segments after codeblock segmentation is large (>8). This improves the timing required for ldpc parity bits generation by more than a factor 2 with AVX512. This significantly reduces the total time to generate the DLSCH/PDSCH --- .../nrLDPC_encoder/ldpc384_alignr_byte_128.c | 153 ++++++++++++ .../ldpc384_simd512_alignr_byte.c | 151 ++++++++++++ .../ldpc384_simd512_permutex_byte.c | 218 ++++++++++++++++++ .../nrLDPC_encoder/ldpc_encode_parity_check.c | 25 +- 4 files changed, 544 insertions(+), 3 deletions(-) create mode 100644 openair1/PHY/CODING/nrLDPC_encoder/ldpc384_alignr_byte_128.c create mode 100644 openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_alignr_byte.c create mode 100644 openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_permutex_byte.c diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_alignr_byte_128.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_alignr_byte_128.c new file mode 100644 index 0000000000..493a33c735 --- /dev/null +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_alignr_byte_128.c @@ -0,0 +1,153 @@ +#ifndef __AVX2__ +#include "PHY/sse_intrin.h" +// generated code for Zc=384, byte encoding +static inline void ldpc384_byte(uint8_t *c,uint8_t *d) { + simde__m128i *csimd=(simde__m128i *)c,*dsimd=(simde__m128i *)d; + + simde__m128i *c2,*d2; + + int i2; + for (i2=0; i2<24; i2++) { + c2=&csimd[i2]; + d2=&dsimd[i2]; + +//row: 0 + d2[0]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[50],c2[49],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[101],c2[100],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[168],c2[167],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],9),simde_mm_xor_si128(c2[144],simde_mm_xor_si128(c2[210],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[213],c2[212],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[252],c2[251],5),simde_mm_xor_si128(c2[249],simde_mm_xor_si128(c2[256],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[302],c2[301],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[299],c2[298],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],11),simde_mm_xor_si128(c2[394],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[452],c2[451],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],15),simde_mm_xor_si128(c2[498],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[535],c2[534],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[547],c2[546],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[548],c2[547],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[598],c2[597],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[647],c2[646],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[637],c2[636],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[724],c2[723],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[775],c2[774],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],2),simde_mm_xor_si128(c2[787],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[824],c2[823],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[825],c2[824],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],2),simde_mm_xor_si128(c2[879],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[881],c2[880],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[924],c2[923],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[933],c2[932],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[925],c2[924],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[981],c2[980],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[963],c2[962],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1030],c2[1029],10),simde_mm_xor_si128(c2[1015],simde_mm_alignr_epi8(c2[1031],c2[1030],5))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 1 + d2[24]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[50],c2[49],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[50],c2[49],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[101],c2[100],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[168],c2[167],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[168],c2[167],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[145],c2[144],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[211],c2[210],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[213],c2[212],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[252],c2[251],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[252],c2[251],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[250],c2[249],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[257],c2[256],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[302],c2[301],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[302],c2[301],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[299],c2[298],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[395],c2[394],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[452],c2[451],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[452],c2[451],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],3),simde_mm_xor_si128(c2[436],simde_mm_xor_si128(c2[498],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[535],c2[534],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[535],c2[534],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[547],c2[546],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[548],c2[547],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[598],c2[597],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[647],c2[646],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[647],c2[646],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[637],c2[636],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[724],c2[723],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[775],c2[774],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[775],c2[774],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[788],c2[787],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[824],c2[823],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[825],c2[824],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],1),simde_mm_xor_si128(c2[881],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[924],c2[923],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[924],c2[923],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[933],c2[932],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[925],c2[924],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[981],c2[980],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[981],c2[980],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[963],c2[962],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1030],c2[1029],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1030],c2[1029],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1016],c2[1015],1),simde_mm_alignr_epi8(c2[1031],c2[1030],6)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 2 + d2[48]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[50],c2[49],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[101],c2[100],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[168],c2[167],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],10),simde_mm_xor_si128(c2[144],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[145],c2[144],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[211],c2[210],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[213],c2[212],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[213],c2[212],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[252],c2[251],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[250],c2[249],1),simde_mm_xor_si128(c2[256],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[257],c2[256],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[302],c2[301],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[299],c2[298],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[299],c2[298],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],12),simde_mm_xor_si128(c2[394],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[395],c2[394],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[452],c2[451],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],15),simde_mm_xor_si128(c2[436],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[535],c2[534],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[547],c2[546],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[548],c2[547],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[548],c2[547],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[598],c2[597],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[647],c2[646],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[637],c2[636],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[637],c2[636],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[724],c2[723],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[724],c2[723],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[775],c2[774],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],3),simde_mm_xor_si128(c2[787],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[788],c2[787],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[824],c2[823],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[825],c2[824],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[825],c2[824],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],3),simde_mm_xor_si128(c2[879],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[881],c2[880],15),simde_mm_xor_si128(c2[881],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[924],c2[923],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[933],c2[932],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[925],c2[924],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[925],c2[924],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[981],c2[980],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[963],c2[962],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[963],c2[962],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1030],c2[1029],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1016],c2[1015],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1031],c2[1030],5),simde_mm_alignr_epi8(c2[1031],c2[1030],6))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 3 + d2[72]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[50],c2[49],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[101],c2[100],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[168],c2[167],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],10),simde_mm_xor_si128(c2[144],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[145],c2[144],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[211],c2[210],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[213],c2[212],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[252],c2[251],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[250],c2[249],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[257],c2[256],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[302],c2[301],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[299],c2[298],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[395],c2[394],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[452],c2[451],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],3),simde_mm_xor_si128(c2[436],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[535],c2[534],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[547],c2[546],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[548],c2[547],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[548],c2[547],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[598],c2[597],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[647],c2[646],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[637],c2[636],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[686],c2[685],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[724],c2[723],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[775],c2[774],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],3),simde_mm_xor_si128(c2[787],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[788],c2[787],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[824],c2[823],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[825],c2[824],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[880],c2[879],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[881],c2[880],15),simde_mm_xor_si128(c2[881],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[924],c2[923],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[933],c2[932],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[925],c2[924],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[981],c2[980],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[963],c2[962],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[963],c2[962],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1030],c2[1029],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1016],c2[1015],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1031],c2[1030],5),simde_mm_alignr_epi8(c2[1031],c2[1030],6)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 4 + d2[96]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[21],c2[20],12),simde_mm_alignr_epi8(c2[60],c2[59],5)); + +//row: 5 + d2[120]=simde_mm_xor_si128(c2[5],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[15],c2[14],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[4],c2[3],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],3),simde_mm_xor_si128(c2[59],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[50],c2[49],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[49],c2[48],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[109],c2[108],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[111],c2[110],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[103],c2[102],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[153],c2[152],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[159],c2[158],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[154],c2[153],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[152],c2[151],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[196],c2[195],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[199],c2[198],9),simde_mm_xor_si128(c2[195],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[262],c2[261],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[259],c2[258],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[242],c2[241],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[312],c2[311],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[308],c2[307],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[311],c2[310],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[343],c2[342],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[339],c2[338],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[356],c2[355],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[391],c2[390],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[404],c2[403],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[398],c2[397],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[438],c2[437],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[453],c2[452],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[446],c2[445],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[484],c2[483],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[498],c2[497],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[545],c2[544],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[533],c2[532],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[533],c2[532],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[587],c2[586],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[584],c2[583],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[587],c2[586],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[633],c2[632],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[647],c2[646],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[632],c2[631],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[688],c2[687],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[744],c2[743],4),simde_mm_xor_si128(c2[736],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[785],c2[784],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[776],c2[775],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[773],c2[772],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[784],c2[783],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[833],c2[832],15),simde_mm_xor_si128(c2[834],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[821],c2[820],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[865],c2[864],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[865],c2[864],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[867],c2[866],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[934],c2[933],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[919],c2[918],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[935],c2[934],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[967],c2[966],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[971],c2[970],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[973],c2[972],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1016],c2[1015],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1025],c2[1024],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1017],c2[1016],2),simde_mm_alignr_epi8(c2[1012],c2[1011],3))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 6 + d2[144]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[305],c2[304],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[550],c2[549],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[832],c2[831],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[866],c2[865],2),simde_mm_alignr_epi8(c2[975],c2[974],1)))))))); + +//row: 7 + d2[168]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1],c2[0],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[52],c2[51],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[212],c2[211],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[403],c2[402],2),simde_mm_alignr_epi8(c2[680],c2[679],2)))))); + +//row: 8 + d2[192]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[24],c2[23],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[6],c2[5],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[9],c2[8],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[16],c2[15],7),simde_mm_xor_si128(c2[17],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[24],c2[23],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[24],c2[23],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[22],c2[21],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[4],c2[3],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[4],c2[3],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[60],c2[59],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[68],c2[67],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[51],c2[50],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[51],c2[50],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[58],c2[57],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[65],c2[64],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[65],c2[64],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[60],c2[59],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[104],c2[103],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[110],c2[109],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[105],c2[104],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[112],c2[111],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[97],c2[96],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[104],c2[103],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[104],c2[103],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[148],c2[147],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[154],c2[153],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[153],c2[152],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[160],c2[159],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[155],c2[154],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[155],c2[154],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[155],c2[154],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[215],c2[214],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[197],c2[196],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[193],c2[192],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[200],c2[199],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[200],c2[199],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[214],c2[213],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[196],c2[195],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[196],c2[195],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[256],c2[255],8),simde_mm_xor_si128(c2[262],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[254],c2[253],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[260],c2[259],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[261],c2[260],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[243],c2[242],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[243],c2[242],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[306],c2[305],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[289],c2[288],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[303],c2[302],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[305],c2[304],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[312],c2[311],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[312],c2[311],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[337],c2[336],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[344],c2[343],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[340],c2[339],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[340],c2[339],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[385],c2[384],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[392],c2[391],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[399],c2[398],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[392],c2[391],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[399],c2[398],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[399],c2[398],3),simde_mm_xor_si128(c2[432],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[439],c2[438],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[448],c2[447],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[454],c2[453],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[441],c2[440],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[447],c2[446],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[447],c2[446],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[503],c2[502],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[485],c2[484],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[493],c2[492],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[493],c2[492],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],15),simde_mm_xor_si128(c2[539],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[546],c2[545],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[551],c2[550],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[534],c2[533],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[552],c2[551],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[534],c2[533],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[534],c2[533],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[582],c2[581],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[588],c2[587],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[585],c2[584],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[595],c2[594],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[627],c2[626],8),simde_mm_xor_si128(c2[633],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[641],c2[640],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[648],c2[647],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[648],c2[647],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[626],c2[625],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[632],c2[631],15),simde_mm_xor_si128(c2[632],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[690],c2[689],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[673],c2[672],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[682],c2[681],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[689],c2[688],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[689],c2[688],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[690],c2[689],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[738],c2[737],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[721],c2[720],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[731],c2[730],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[737],c2[736],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[728],c2[727],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],15),simde_mm_xor_si128(c2[734],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[779],c2[778],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[786],c2[785],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[771],c2[770],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[777],c2[776],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[792],c2[791],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[771],c2[770],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[828],c2[827],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[834],c2[833],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[829],c2[828],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[839],c2[838],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[822],c2[821],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[822],c2[821],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[884],c2[883],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[866],c2[865],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[884],c2[883],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[866],c2[865],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[866],c2[865],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[886],c2[885],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[868],c2[867],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[868],c2[867],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[928],c2[927],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[934],c2[933],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[913],c2[912],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[920],c2[919],6),simde_mm_xor_si128(c2[929],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[936],c2[935],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[936],c2[935],8),simde_mm_xor_si128(c2[926],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[968],c2[967],5),simde_mm_xor_si128(c2[965],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[972],c2[971],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[972],c2[971],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[967],c2[966],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[974],c2[973],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[974],c2[973],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1010],c2[1009],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1017],c2[1016],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1020],c2[1019],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1026],c2[1025],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1011],c2[1010],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1017],c2[1016],15),simde_mm_xor_si128(c2[1017],c2[1031])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 9 + d2[216]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[63],c2[62],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[501],c2[500],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[537],c2[536],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[628],c2[627],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[868],c2[867],15),simde_mm_alignr_epi8(c2[966],c2[965],2)))))))); + +//row: 10 + d2[240]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[55],c2[54],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[118],c2[117],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[343],c2[342],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[408],c2[407],15),simde_mm_alignr_epi8(c2[695],c2[694],2)))))); + +//row: 11 + d2[264]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[17],c2[16],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[3],c2[2],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[3],c2[2],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[2],c2[1],10),simde_mm_xor_si128(c2[12],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[21],c2[20],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[15],c2[14],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1],c2[0],8),simde_mm_xor_si128(c2[3],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[71],c2[70],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[61],c2[60],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[71],c2[70],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[51],c2[50],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[61],c2[60],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[55],c2[54],6),simde_mm_xor_si128(c2[96],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[107],c2[106],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[107],c2[106],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[98],c2[97],10),simde_mm_xor_si128(c2[108],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[114],c2[113],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[164],c2[163],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[151],c2[150],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[151],c2[150],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[146],c2[145],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[156],c2[155],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[165],c2[164],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[152],c2[151],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[207],c2[206],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[194],c2[193],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],10),simde_mm_xor_si128(c2[196],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[207],c2[206],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[193],c2[192],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[249],c2[248],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[259],c2[258],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[259],c2[258],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[246],c2[245],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[257],c2[256],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[253],c2[252],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[264],c2[263],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[299],c2[298],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[295],c2[294],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[306],c2[305],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[298],c2[297],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[308],c2[307],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[354],c2[353],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[340],c2[339],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[360],c2[359],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[343],c2[342],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[402],c2[401],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[391],c2[390],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[402],c2[401],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[385],c2[384],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[395],c2[394],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[449],c2[448],11),simde_mm_xor_si128(c2[435],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],1),simde_mm_xor_si128(c2[440],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[451],c2[450],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[433],c2[432],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[495],c2[494],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[485],c2[484],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[496],c2[495],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[486],c2[485],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[496],c2[495],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[532],c2[531],11),simde_mm_xor_si128(c2[542],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[543],c2[542],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[544],c2[543],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[530],c2[529],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[544],c2[543],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[531],c2[530],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[598],c2[597],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[585],c2[584],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[585],c2[584],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[595],c2[594],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[581],c2[580],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[588],c2[587],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[598],c2[597],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[644],c2[643],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[634],c2[633],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[644],c2[643],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[643],c2[642],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[629],c2[628],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[683],c2[682],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[693],c2[692],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[675],c2[674],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[685],c2[684],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[683],c2[682],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[693],c2[692],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[731],c2[730],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[741],c2[740],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[741],c2[740],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[724],c2[723],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[721],c2[720],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[731],c2[730],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[772],c2[771],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[782],c2[781],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[782],c2[781],14),simde_mm_xor_si128(c2[787],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[784],c2[783],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[771],c2[770],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[771],c2[770],15),simde_mm_xor_si128(c2[820],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[831],c2[830],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[822],c2[821],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[832],c2[831],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[832],c2[831],10),simde_mm_xor_si128(c2[818],simde_mm_xor_si128(c2[876],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[876],c2[875],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[878],c2[877],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[865],c2[864],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[921],c2[920],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[931],c2[930],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[931],c2[930],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[930],c2[929],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[916],c2[915],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[922],c2[921],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[933],c2[932],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[978],c2[977],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[964],c2[963],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[964],c2[963],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[982],c2[981],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[969],c2[968],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[984],c2[983],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[970],c2[969],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1027],c2[1026],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1013],c2[1012],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1013],c2[1012],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1012],c2[1011],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1023],c2[1022],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1028],c2[1027],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1014],c2[1013],9),simde_mm_alignr_epi8(c2[1020],c2[1019],12)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 12 + d2[288]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[60],c2[59],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[491],c2[490],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[543],c2[542],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[628],c2[627],2),simde_mm_alignr_epi8(c2[869],c2[868],10)))))); + +//row: 13 + d2[312]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[19],c2[18],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[19],c2[18],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[4],c2[3],15),simde_mm_xor_si128(c2[12],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[17],c2[16],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[49],c2[48],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[49],c2[48],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[63],c2[62],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[53],c2[52],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[99],c2[98],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[99],c2[98],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[116],c2[115],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[167],c2[166],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[167],c2[166],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[148],c2[147],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[168],c2[167],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[156],c2[155],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[210],c2[209],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[212],c2[211],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[209],c2[208],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[251],c2[250],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[251],c2[250],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[249],c2[248],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[256],c2[255],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[298],c2[297],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[300],c2[299],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[356],c2[355],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[352],c2[351],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[345],c2[344],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[404],c2[403],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[394],c2[393],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[387],c2[386],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[451],c2[450],15),simde_mm_xor_si128(c2[451],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[443],c2[442],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[498],c2[497],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[498],c2[497],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[488],c2[487],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[488],c2[487],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[534],c2[533],15),simde_mm_xor_si128(c2[534],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[546],c2[545],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[547],c2[546],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[597],c2[596],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[590],c2[589],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[646],c2[645],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[636],c2[635],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[645],c2[644],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[685],c2[684],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[677],c2[676],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[685],c2[684],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[733],c2[732],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[733],c2[732],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[726],c2[725],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[723],c2[722],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[790],c2[789],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[787],c2[786],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[823],c2[822],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[824],c2[823],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[834],c2[833],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[879],c2[878],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[879],c2[878],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[879],c2[878],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[881],c2[880],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[923],c2[922],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[923],c2[922],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[932],c2[931],14),simde_mm_xor_si128(c2[924],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[980],c2[979],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[980],c2[979],13),simde_mm_xor_si128(c2[960],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[962],c2[961],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[968],c2[967],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1029],c2[1028],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1029],c2[1028],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1015],c2[1014],3),simde_mm_alignr_epi8(c2[1030],c2[1029],8)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 14 + d2[336]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[9],c2[8],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[592],c2[591],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[729],c2[728],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[838],c2[837],11),simde_mm_alignr_epi8(c2[1009],c2[1008],12)))))); + +//row: 15 + d2[360]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[22],c2[21],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[6],c2[5],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[11],c2[10],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[11],c2[10],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[16],c2[15],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[67],c2[66],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[71],c2[70],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[71],c2[70],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[49],c2[48],2),simde_mm_xor_si128(c2[116],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[118],c2[117],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[110],c2[109],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[160],c2[159],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[166],c2[165],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[161],c2[160],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[161],c2[160],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[206],c2[205],10),simde_mm_xor_si128(c2[202],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[245],c2[244],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[242],c2[241],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[249],c2[248],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[295],c2[294],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[291],c2[290],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[294],c2[293],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[294],c2[293],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[339],c2[338],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[339],c2[338],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[398],c2[397],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[387],c2[386],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[445],c2[444],11),simde_mm_xor_si128(c2[436],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[453],c2[452],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[491],c2[490],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[494],c2[493],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[552],c2[551],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[594],c2[593],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[584],c2[583],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[584],c2[583],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[640],c2[639],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[639],c2[638],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[639],c2[638],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[644],c2[643],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[679],c2[678],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[695],c2[694],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[679],c2[678],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[679],c2[678],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[744],c2[743],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[741],c2[740],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[792],c2[791],8),simde_mm_xor_si128(c2[783],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[780],c2[779],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[780],c2[779],14),simde_mm_xor_si128(c2[816],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[818],c2[817],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[828],c2[827],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[828],c2[827],10),simde_mm_xor_si128(c2[872],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[874],c2[873],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[874],c2[873],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[868],c2[867],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[917],c2[916],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[926],c2[925],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[918],c2[917],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[974],c2[973],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[978],c2[977],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[980],c2[979],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[980],c2[979],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1023],c2[1022],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1032],c2[1031],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1024],c2[1023],2),simde_mm_alignr_epi8(c2[1024],c2[1023],3))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 16 + d2[384]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[9],c2[8],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[17],c2[16],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[21],c2[20],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[53],c2[52],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[68],c2[67],3),simde_mm_xor_si128(c2[57],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[49],c2[48],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[103],c2[102],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[105],c2[104],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[97],c2[96],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[147],c2[146],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[153],c2[152],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[148],c2[147],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[166],c2[165],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[214],c2[213],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[193],c2[192],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[213],c2[212],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[255],c2[254],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[253],c2[252],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[260],c2[259],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[306],c2[305],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[302],c2[301],10),simde_mm_xor_si128(c2[304],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[337],c2[336],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[385],c2[384],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[398],c2[397],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[392],c2[391],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[456],c2[455],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[447],c2[446],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[440],c2[439],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[502],c2[501],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[492],c2[491],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[492],c2[491],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[539],c2[538],6),simde_mm_xor_si128(c2[550],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[551],c2[550],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[532],c2[531],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[581],c2[580],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],15),simde_mm_xor_si128(c2[594],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[626],c2[625],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[641],c2[640],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[625],c2[624],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[690],c2[689],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[682],c2[681],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[689],c2[688],13),simde_mm_xor_si128(c2[737],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[730],c2[729],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[779],c2[778],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[770],c2[769],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[827],c2[826],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[828],c2[827],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[839],c2[838],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[883],c2[882],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[883],c2[882],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[885],c2[884],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[927],c2[926],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[913],c2[912],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[929],c2[928],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[965],c2[964],6),simde_mm_xor_si128(c2[966],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[979],c2[978],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1010],c2[1009],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1019],c2[1018],9),simde_mm_alignr_epi8(c2[1010],c2[1009],14))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 17 + d2[408]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[17],c2[16],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[691],c2[690],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[839],c2[838],6),simde_mm_alignr_epi8(c2[1032],c2[1031],7))))); + +//row: 18 + d2[432]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[587],c2[586],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[642],c2[641],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[873],c2[872],4),simde_mm_alignr_epi8(c2[913],c2[912],4))))); + +//row: 19 + d2[456]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[62],c2[61],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[358],c2[357],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[400],c2[399],2),simde_mm_alignr_epi8(c2[493],c2[492],5))))); + +//row: 20 + d2[480]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[9],c2[8],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[17],c2[16],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[21],c2[20],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[12],c2[11],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[53],c2[52],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[68],c2[67],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[58],c2[57],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[103],c2[102],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[105],c2[104],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[97],c2[96],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[147],c2[146],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[153],c2[152],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[148],c2[147],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[157],c2[156],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[214],c2[213],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[193],c2[192],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[213],c2[212],14),simde_mm_xor_si128(c2[255],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[253],c2[252],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[260],c2[259],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[306],c2[305],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[302],c2[301],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[305],c2[304],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[337],c2[336],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[385],c2[384],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[398],c2[397],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[392],c2[391],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[456],c2[455],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[447],c2[446],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[440],c2[439],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[449],c2[448],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[502],c2[501],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[492],c2[491],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[492],c2[491],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[539],c2[538],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[551],c2[550],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[551],c2[550],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[550],c2[549],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[581],c2[580],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[578],c2[577],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[595],c2[594],2),simde_mm_xor_si128(c2[626],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[641],c2[640],3),simde_mm_xor_si128(c2[625],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[690],c2[689],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[682],c2[681],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[689],c2[688],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[738],c2[737],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[730],c2[729],14),simde_mm_xor_si128(c2[727],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[779],c2[778],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[770],c2[769],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[827],c2[826],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[828],c2[827],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[839],c2[838],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[883],c2[882],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[883],c2[882],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[885],c2[884],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[927],c2[926],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[913],c2[912],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[929],c2[928],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[961],c2[960],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[965],c2[964],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[967],c2[966],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1010],c2[1009],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1019],c2[1018],11),c2[1010])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 21 + d2[504]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[61],c2[60],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[247],c2[246],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[789],c2[788],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[974],c2[973],5),simde_mm_alignr_epi8(c2[1015],c2[1014],1))))); + +//row: 22 + d2[528]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[2],c2[1],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[639],c2[638],9),simde_mm_alignr_epi8(c2[818],c2[817],6)))); + +//row: 23 + d2[552]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[50],c2[49],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[102],c2[101],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[484],c2[483],13),simde_mm_alignr_epi8(c2[866],c2[865],11)))); + +//row: 24 + d2[576]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[20],c2[19],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[4],c2[3],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[8],c2[7],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[19],c2[18],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[55],c2[54],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[69],c2[68],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[114],c2[113],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[116],c2[115],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[108],c2[107],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[158],c2[157],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[164],c2[163],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[159],c2[158],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[154],c2[153],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[201],c2[200],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[204],c2[203],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[200],c2[199],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[207],c2[206],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[242],c2[241],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[264],c2[263],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[247],c2[246],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[293],c2[292],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[289],c2[288],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[292],c2[291],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[348],c2[347],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[344],c2[343],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[337],c2[336],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[396],c2[395],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[385],c2[384],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[403],c2[402],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[443],c2[442],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[434],c2[433],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[451],c2[450],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[489],c2[488],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[503],c2[502],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[503],c2[502],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[550],c2[549],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[538],c2[537],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[538],c2[537],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[550],c2[549],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[592],c2[591],11),simde_mm_xor_si128(c2[588],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[582],c2[581],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[637],c2[636],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[628],c2[627],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[636],c2[635],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[677],c2[676],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[693],c2[692],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[676],c2[675],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[725],c2[724],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[741],c2[740],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[738],c2[737],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[790],c2[789],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[781],c2[780],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[778],c2[777],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[838],c2[837],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[839],c2[838],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[826],c2[825],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[870],c2[869],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[870],c2[869],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[914],c2[913],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[924],c2[923],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[916],c2[915],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[972],c2[971],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[976],c2[975],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[978],c2[977],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1021],c2[1020],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1030],c2[1029],10),simde_mm_alignr_epi8(c2[1021],c2[1020],15))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 25 + d2[600]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[53],c2[52],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[290],c2[289],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[360],c2[359],15),simde_mm_alignr_epi8(c2[692],c2[691],8)))); + +//row: 26 + d2[624]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[102],c2[101],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[197],c2[196],12),simde_mm_alignr_epi8(c2[729],c2[728],8)))); + +//row: 27 + d2[648]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[61],c2[60],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[301],c2[300],2),simde_mm_alignr_epi8(c2[391],c2[390],5))); + +//row: 28 + d2[672]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[14],c2[13],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[194],c2[193],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[928],c2[927],4),simde_mm_alignr_epi8(c2[1026],c2[1025],2)))); + +//row: 29 + d2[696]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1],c2[0],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[18],c2[17],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[55],c2[54],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[69],c2[68],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[59],c2[58],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[59],c2[58],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[105],c2[104],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[106],c2[105],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[98],c2[97],7),simde_mm_xor_si128(c2[148],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[154],c2[153],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[215],c2[214],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[194],c2[193],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[215],c2[214],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[215],c2[214],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[257],c2[256],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[254],c2[253],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[261],c2[260],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[307],c2[306],7),simde_mm_xor_si128(c2[303],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[306],c2[305],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[306],c2[305],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[338],c2[337],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[358],c2[357],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[351],c2[350],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[351],c2[350],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[386],c2[385],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[399],c2[398],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[393],c2[392],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[393],c2[392],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[433],c2[432],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[449],c2[448],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[441],c2[440],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[503],c2[502],15),simde_mm_xor_si128(c2[493],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[494],c2[493],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[494],c2[493],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[552],c2[551],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[552],c2[551],15),simde_mm_xor_si128(c2[528],simde_mm_xor_si128(c2[582],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[579],c2[578],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[596],c2[595],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[596],c2[595],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[628],c2[627],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[642],c2[641],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[627],c2[626],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[627],c2[626],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[691],c2[690],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[683],c2[682],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[691],c2[690],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[691],c2[690],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[673],c2[672],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[739],c2[738],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[732],c2[731],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[729],c2[728],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[780],c2[779],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[772],c2[771],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[792],c2[791],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[792],c2[791],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[829],c2[828],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[830],c2[829],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[840],c2[839],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[840],c2[839],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[885],c2[884],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[884],c2[883],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[886],c2[885],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[886],c2[885],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[874],c2[873],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[929],c2[928],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[914],c2[913],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[930],c2[929],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[962],c2[961],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[966],c2[965],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[968],c2[967],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[968],c2[967],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1011],c2[1010],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1020],c2[1019],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1012],c2[1011],3),simde_mm_alignr_epi8(c2[1012],c2[1011],4))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 30 + d2[720]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1],c2[0],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[11],c2[10],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[19],c2[18],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[19],c2[18],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[55],c2[54],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[70],c2[69],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[70],c2[69],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[60],c2[59],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[60],c2[59],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[105],c2[104],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[107],c2[106],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[99],c2[98],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[99],c2[98],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[149],c2[148],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[155],c2[154],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[150],c2[149],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[150],c2[149],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[216],c2[215],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[195],c2[194],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[195],c2[194],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[215],c2[214],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[215],c2[214],14),simde_mm_xor_si128(c2[257],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[255],c2[254],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[262],c2[261],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[262],c2[261],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[308],c2[307],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[304],c2[303],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[304],c2[303],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[307],c2[306],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[307],c2[306],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[339],c2[338],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[359],c2[358],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[359],c2[358],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[352],c2[351],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[352],c2[351],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[387],c2[386],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[400],c2[399],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[400],c2[399],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[394],c2[393],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[394],c2[393],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[434],c2[433],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[449],c2[448],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[442],c2[441],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[442],c2[441],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[504],c2[503],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[494],c2[493],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[494],c2[493],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[494],c2[493],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[494],c2[493],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[495],c2[494],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[541],c2[540],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[529],c2[528],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[529],c2[528],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[529],c2[528],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[583],c2[582],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[580],c2[579],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[597],c2[596],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[597],c2[596],2),simde_mm_xor_si128(c2[628],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[643],c2[642],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[643],c2[642],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[627],c2[626],15),simde_mm_xor_si128(c2[627],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[641],c2[640],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[692],c2[691],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[684],c2[683],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[684],c2[683],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[691],c2[690],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[691],c2[690],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[740],c2[739],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[732],c2[731],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[729],c2[728],15),simde_mm_xor_si128(c2[729],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[781],c2[780],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[772],c2[771],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[769],c2[768],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[769],c2[768],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[829],c2[828],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[830],c2[829],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[830],c2[829],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[817],c2[816],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[817],c2[816],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[885],c2[884],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[885],c2[884],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[885],c2[884],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[929],c2[928],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[915],c2[914],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[931],c2[930],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[931],c2[930],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[963],c2[962],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[967],c2[966],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[967],c2[966],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[969],c2[968],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[969],c2[968],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1012],c2[1011],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1021],c2[1020],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1012],c2[1011],15),c2[1012]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 31 + d2[744]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[12],c2[11],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[12],c2[11],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[21],c2[20],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[21],c2[20],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[5],c2[4],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[66],c2[65],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[66],c2[65],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[56],c2[55],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[56],c2[55],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[70],c2[69],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[70],c2[69],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[70],c2[69],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[55],c2[54],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[116],c2[115],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[116],c2[115],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[109],c2[108],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[109],c2[108],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[160],c2[159],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[160],c2[159],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[165],c2[164],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[165],c2[164],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[161],c2[160],2),simde_mm_xor_si128(c2[160],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[161],c2[160],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[205],c2[204],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[205],c2[204],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[202],c2[201],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[202],c2[201],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[202],c2[201],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[244],c2[243],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[244],c2[243],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[242],c2[241],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[242],c2[241],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[249],c2[248],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[249],c2[248],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[294],c2[293],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[294],c2[293],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[291],c2[290],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[291],c2[290],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[293],c2[292],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[293],c2[292],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[293],c2[292],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[349],c2[348],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[349],c2[348],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[345],c2[344],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[345],c2[344],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[338],c2[337],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[338],c2[337],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[338],c2[337],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[397],c2[396],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[397],c2[396],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[387],c2[386],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[387],c2[386],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[404],c2[403],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[404],c2[403],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[404],c2[403],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[453],c2[452],1),simde_mm_xor_si128(c2[452],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[491],c2[490],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[491],c2[490],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[551],c2[550],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[551],c2[550],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[539],c2[538],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[539],c2[538],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[594],c2[593],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[594],c2[593],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[590],c2[589],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[590],c2[589],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[583],c2[582],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[583],c2[582],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[583],c2[582],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[639],c2[638],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[639],c2[638],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[629],c2[628],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[629],c2[628],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[638],c2[637],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[638],c2[637],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[638],c2[637],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[694],c2[693],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[694],c2[693],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[726],c2[725],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[726],c2[725],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[743],c2[742],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[743],c2[742],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[740],c2[739],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[740],c2[739],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[791],c2[790],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[783],c2[782],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[783],c2[782],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[780],c2[779],2),simde_mm_xor_si128(c2[779],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[780],c2[779],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[840],c2[839],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[840],c2[839],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[817],c2[816],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[817],c2[816],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[827],c2[826],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[827],c2[826],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[827],c2[826],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[874],c2[873],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[873],c2[872],15),simde_mm_xor_si128(c2[873],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[916],c2[915],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[916],c2[915],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[925],c2[924],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[925],c2[924],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[917],c2[916],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[917],c2[916],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[973],c2[972],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[973],c2[972],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[977],c2[976],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[977],c2[976],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[979],c2[978],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[979],c2[978],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[979],c2[978],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1022],c2[1021],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1022],c2[1021],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1032],c2[1031],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1032],c2[1031],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1023],c2[1022],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1023],c2[1022],5),simde_mm_alignr_epi8(c2[1023],c2[1022],6))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 32 + d2[768]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[14],c2[13],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[23],c2[22],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[7],c2[6],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[7],c2[6],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[12],c2[11],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[12],c2[11],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[7],c2[6],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[68],c2[67],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[58],c2[57],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[58],c2[57],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[72],c2[71],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[72],c2[71],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[118],c2[117],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[119],c2[118],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[111],c2[110],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[111],c2[110],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[162],c2[161],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[167],c2[166],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[162],c2[161],15),simde_mm_xor_si128(c2[162],simde_mm_xor_si128(c2[204],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[207],c2[206],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[207],c2[206],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[204],c2[203],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[204],c2[203],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[246],c2[245],5),simde_mm_xor_si128(c2[243],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[250],c2[249],15),simde_mm_xor_si128(c2[250],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[296],c2[295],8),simde_mm_xor_si128(c2[292],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[293],c2[292],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[295],c2[294],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[295],c2[294],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[351],c2[350],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[347],c2[346],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[347],c2[346],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[340],c2[339],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[340],c2[339],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[399],c2[398],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],15),simde_mm_xor_si128(c2[388],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[406],c2[405],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[406],c2[405],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[446],c2[445],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[438],c2[437],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[454],c2[453],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[454],c2[453],15),simde_mm_xor_si128(c2[492],simde_mm_xor_si128(c2[482],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[483],c2[482],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[483],c2[482],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[483],c2[482],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[529],c2[528],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[541],c2[540],7),simde_mm_xor_si128(c2[541],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[542],c2[541],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[596],c2[595],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[592],c2[591],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[585],c2[584],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[585],c2[584],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[589],c2[588],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[641],c2[640],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[631],c2[630],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[631],c2[630],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[640],c2[639],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[640],c2[639],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[680],c2[679],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[680],c2[679],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[680],c2[679],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[683],c2[682],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[728],c2[727],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[721],c2[720],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[742],c2[741],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[742],c2[741],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[769],c2[768],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[785],c2[784],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[781],c2[780],15),simde_mm_xor_si128(c2[781],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[818],c2[817],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[819],c2[818],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[819],c2[818],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[829],c2[828],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[829],c2[828],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[874],c2[873],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[873],c2[872],15),simde_mm_xor_si128(c2[873],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[875],c2[874],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[875],c2[874],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[918],c2[917],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[927],c2[926],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[919],c2[918],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[919],c2[918],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[975],c2[974],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[979],c2[978],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[979],c2[978],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[981],c2[980],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[981],c2[980],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1024],c2[1023],10),simde_mm_xor_si128(c2[1009],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1025],c2[1024],4),simde_mm_alignr_epi8(c2[1025],c2[1024],5)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 33 + d2[792]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[69],c2[68],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[97],c2[96],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[551],c2[550],9),simde_mm_alignr_epi8(c2[1015],c2[1014],9)))); + +//row: 34 + d2[816]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[15],c2[14],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[733],c2[732],10),simde_mm_alignr_epi8(c2[836],c2[835],8)))); + +//row: 35 + d2[840]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[12],c2[11],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[22],c2[21],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[6],c2[5],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[10],c2[9],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[66],c2[65],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[71],c2[70],1),simde_mm_xor_si128(c2[68],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[116],c2[115],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[118],c2[117],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[110],c2[109],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[160],c2[159],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[166],c2[165],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[161],c2[160],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[206],c2[205],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[202],c2[201],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[244],c2[243],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[242],c2[241],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[249],c2[248],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[295],c2[294],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[291],c2[290],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[294],c2[293],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[339],c2[338],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[398],c2[397],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[387],c2[386],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[445],c2[444],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[453],c2[452],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[491],c2[490],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[481],c2[480],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[552],c2[551],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[594],c2[593],11),simde_mm_xor_si128(c2[590],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[584],c2[583],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[639],c2[638],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[638],c2[637],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[679],c2[678],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[695],c2[694],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[678],c2[677],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[743],c2[742],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[740],c2[739],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[792],c2[791],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[783],c2[782],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[780],c2[779],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[840],c2[839],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[817],c2[816],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[828],c2[827],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[874],c2[873],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[916],c2[915],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[926],c2[925],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[918],c2[917],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[974],c2[973],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[978],c2[977],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[980],c2[979],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1023],c2[1022],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1032],c2[1031],10),simde_mm_alignr_epi8(c2[1023],c2[1022],15)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 36 + d2[864]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[14],c2[13],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[692],c2[691],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[739],c2[738],9),simde_mm_alignr_epi8(c2[866],c2[865],5)))); + +//row: 37 + d2[888]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[3],c2[2],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[3],c2[2],7),simde_mm_xor_si128(c2[12],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[21],c2[20],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1],c2[0],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[71],c2[70],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[61],c2[60],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[65],c2[64],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[107],c2[106],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[107],c2[106],6),simde_mm_xor_si128(c2[108],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[100],c2[99],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[151],c2[150],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[151],c2[150],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[156],c2[155],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[152],c2[151],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[194],c2[193],4),simde_mm_xor_si128(c2[196],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[193],c2[192],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[259],c2[258],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[259],c2[258],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[257],c2[256],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[264],c2[263],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[306],c2[305],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[308],c2[307],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[340],c2[339],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[360],c2[359],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[353],c2[352],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[402],c2[401],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[395],c2[394],12),simde_mm_xor_si128(c2[435],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[436],c2[435],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[451],c2[450],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[496],c2[495],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[496],c2[495],8),simde_mm_xor_si128(c2[542],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[543],c2[542],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[530],c2[529],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[531],c2[530],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[585],c2[584],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[585],c2[584],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[581],c2[580],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[598],c2[597],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[644],c2[643],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[629],c2[628],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[693],c2[692],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[685],c2[684],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[693],c2[692],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[741],c2[740],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[741],c2[740],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[731],c2[730],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[782],c2[781],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[782],c2[781],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[771],c2[770],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[831],c2[830],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[832],c2[831],7),simde_mm_xor_si128(c2[818],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[887],c2[886],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[865],c2[864],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[931],c2[930],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[931],c2[930],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[916],c2[915],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[933],c2[932],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[964],c2[963],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[964],c2[963],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[969],c2[968],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[970],c2[969],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1013],c2[1012],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1013],c2[1012],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1023],c2[1022],4),simde_mm_alignr_epi8(c2[1014],c2[1013],9)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 38 + d2[912]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[12],c2[11],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[444],c2[443],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],1),simde_mm_alignr_epi8(c2[590],c2[589],6)))); + +//row: 39 + d2[936]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[65],c2[64],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[150],c2[149],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[358],c2[357],10),simde_mm_alignr_epi8(c2[931],c2[930],9)))); + +//row: 40 + d2[960]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[11],c2[10],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[387],c2[386],5),simde_mm_alignr_epi8(c2[836],c2[835],8))); + +//row: 41 + d2[984]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[52],c2[51],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[164],c2[163],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[441],c2[440],11),c2[882]))); + +//row: 42 + d2[1008]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[9],c2[8],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[19],c2[18],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[3],c2[2],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[3],c2[2],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[7],c2[6],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[7],c2[6],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[8],c2[7],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[63],c2[62],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[54],c2[53],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[68],c2[67],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[68],c2[67],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[113],c2[112],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[115],c2[114],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[107],c2[106],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[107],c2[106],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[157],c2[156],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[163],c2[162],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[158],c2[157],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[158],c2[157],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[200],c2[199],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[199],c2[198],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[199],c2[198],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[193],c2[192],14),simde_mm_xor_si128(c2[241],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[263],c2[262],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[246],c2[245],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[246],c2[245],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[292],c2[291],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[312],c2[311],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[312],c2[311],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[291],c2[290],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[291],c2[290],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[347],c2[346],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[343],c2[342],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[343],c2[342],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[360],c2[359],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[360],c2[359],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[395],c2[394],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[408],c2[407],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[408],c2[407],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[402],c2[401],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[402],c2[401],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[442],c2[441],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[433],c2[432],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[450],c2[449],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[450],c2[449],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[488],c2[487],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[502],c2[501],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[502],c2[501],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[502],c2[501],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[502],c2[501],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[549],c2[548],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[537],c2[536],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[537],c2[536],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[537],c2[536],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[588],c2[587],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[581],c2[580],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[581],c2[580],2),simde_mm_xor_si128(c2[636],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[627],c2[626],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[627],c2[626],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[635],c2[634],15),simde_mm_xor_si128(c2[635],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[676],c2[675],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[692],c2[691],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[692],c2[691],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[675],c2[674],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[675],c2[674],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[724],c2[723],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[740],c2[739],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[737],c2[736],15),simde_mm_xor_si128(c2[737],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[789],c2[788],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[780],c2[779],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[777],c2[776],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[777],c2[776],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[837],c2[836],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[838],c2[837],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[838],c2[837],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[825],c2[824],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[825],c2[824],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[869],c2[868],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[869],c2[868],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[869],c2[868],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[871],c2[870],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[871],c2[870],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[913],c2[912],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[923],c2[922],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[915],c2[914],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[915],c2[914],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[971],c2[970],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[975],c2[974],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[975],c2[974],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[977],c2[976],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[977],c2[976],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1020],c2[1019],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1029],c2[1028],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1020],c2[1019],15),c2[1020])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 43 + d2[1032]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[6],c2[5],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[16],c2[15],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[24],c2[23],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[4],c2[3],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[4],c2[3],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[60],c2[59],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[51],c2[50],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[64],c2[63],15),simde_mm_xor_si128(c2[64],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[56],c2[55],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[110],c2[109],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[112],c2[111],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[104],c2[103],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[154],c2[153],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[160],c2[159],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[155],c2[154],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[155],c2[154],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[197],c2[196],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[200],c2[199],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[196],c2[195],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[196],c2[195],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[262],c2[261],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[260],c2[259],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[243],c2[242],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[289],c2[288],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[309],c2[308],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[311],c2[310],15),simde_mm_xor_si128(c2[311],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[344],c2[343],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[340],c2[339],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[357],c2[356],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[392],c2[391],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],9),simde_mm_xor_si128(c2[398],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[399],c2[398],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[439],c2[438],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[454],c2[453],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[447],c2[446],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[485],c2[484],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[499],c2[498],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[546],c2[545],6),simde_mm_xor_si128(c2[533],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[534],c2[533],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[534],c2[533],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[588],c2[587],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[584],c2[583],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[577],c2[576],15),simde_mm_xor_si128(c2[577],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[633],c2[632],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[648],c2[647],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[632],c2[631],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[632],c2[631],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[673],c2[672],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[689],c2[688],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[696],c2[695],13),simde_mm_xor_si128(c2[720],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[737],c2[736],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[734],c2[733],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[786],c2[785],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[777],c2[776],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[774],c2[773],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[777],c2[776],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[834],c2[833],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[835],c2[834],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[822],c2[821],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[822],c2[821],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[866],c2[865],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[866],c2[865],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[868],c2[867],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[868],c2[867],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[872],c2[871],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[934],c2[933],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[920],c2[919],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[936],c2[935],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[968],c2[967],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[972],c2[971],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[973],c2[972],15),simde_mm_xor_si128(c2[973],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1017],c2[1016],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1026],c2[1025],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1017],c2[1016],13),simde_mm_alignr_epi8(c2[1017],c2[1016],14))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 44 + d2[1056]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[13],c2[12],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[22],c2[21],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[6],c2[5],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[11],c2[10],6),simde_mm_xor_si128(c2[5],simde_mm_xor_si128(simde_mm_alignr_epi8(c2[67],c2[66],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[71],c2[70],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[117],c2[116],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[118],c2[117],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[110],c2[109],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[161],c2[160],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[166],c2[165],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[162],c2[161],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[204],c2[203],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[206],c2[205],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[203],c2[202],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[245],c2[244],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[243],c2[242],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[250],c2[249],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[295],c2[294],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[292],c2[291],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[294],c2[293],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[350],c2[349],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[346],c2[345],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[339],c2[338],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[341],c2[340],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[398],c2[397],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[388],c2[387],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[405],c2[404],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[445],c2[444],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[437],c2[436],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[454],c2[453],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[443],c2[442],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[492],c2[491],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[482],c2[481],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[552],c2[551],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[540],c2[539],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[541],c2[540],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[595],c2[594],3),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[591],c2[590],8),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[584],c2[583],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[640],c2[639],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[630],c2[629],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[639],c2[638],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[679],c2[678],11),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[695],c2[694],10),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[679],c2[678],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[727],c2[726],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[744],c2[743],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[741],c2[740],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[792],c2[791],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[784],c2[783],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[781],c2[780],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[817],c2[816],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[818],c2[817],5),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[828],c2[827],14),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[873],c2[872],4),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[873],c2[872],2),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[875],c2[874],1),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[917],c2[916],6),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[926],c2[925],13),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[918],c2[917],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[974],c2[973],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[978],c2[977],15),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[980],c2[979],9),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1023],c2[1022],12),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[1009],c2[1008],2),simde_mm_alignr_epi8(c2[1024],c2[1023],7)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 45 + d2[1080]=simde_mm_xor_si128(simde_mm_alignr_epi8(c2[57],c2[56],7),simde_mm_xor_si128(simde_mm_alignr_epi8(c2[298],c2[297],5),simde_mm_alignr_epi8(c2[481],c2[480],15))); + } +} +#endif diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_alignr_byte.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_alignr_byte.c new file mode 100644 index 0000000000..96b83f4e28 --- /dev/null +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_alignr_byte.c @@ -0,0 +1,151 @@ +#include "PHY/sse_intrin.h" +// generated code for Zc=384, byte encoding +static inline void ldpc384_byte(uint8_t *c,uint8_t *d) { + __m512i *csimd=(__m512i *)c,*dsimd=(__m512i *)d; + + __m512i *c2,*d2; + + int i2; + for (i2=0; i2<6; i2++) { + c2=&csimd[i2]; + d2=&dsimd[i2]; + +//row: 0 + d2[0]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],9),_mm512_xor_si512(c2[36],_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],16),_mm512_xor_si512(c2[64],_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],48),_mm512_alignr_epi8(c2[258],c2[257],37))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 1 + d2[6]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],51),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],49),_mm512_alignr_epi8(c2[258],c2[257],38)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 2 + d2[12]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],10),_mm512_xor_si512(c2[36],_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],17),_mm512_xor_si512(c2[64],_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],63),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],37),_mm512_alignr_epi8(c2[258],c2[257],38))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 3 + d2[18]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],10),_mm512_xor_si512(c2[36],_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],51),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],37),_mm512_alignr_epi8(c2[258],c2[257],38)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 4 + d2[24]=_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],12),_mm512_alignr_epi8(c2[15],c2[14],53)); + +//row: 5 + d2[30]=_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[98],c2[97],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[110],c2[109],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],52),_mm512_xor_si512(c2[184],_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[257],c2[256],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],2),_mm512_alignr_epi8(c2[253],c2[252],51))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 6 + d2[36]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],18),_mm512_alignr_epi8(c2[244],c2[243],33)))))))); + +//row: 7 + d2[42]=_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],34),_mm512_alignr_epi8(c2[170],c2[169],50)))))); + +//row: 8 + d2[48]=_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[98],c2[97],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[98],c2[97],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],35),_mm512_xor_si512(c2[108],_mm512_xor_si512(_mm512_alignr_epi8(c2[110],c2[109],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[122],c2[121],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],63),_mm512_xor_si512(c2[158],_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[257],c2[256],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],16),_mm512_alignr_epi8(c2[258],c2[257],48))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 9 + d2[54]=_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],63),_mm512_alignr_epi8(c2[242],c2[241],18)))))))); + +//row: 10 + d2[60]=_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],63),_mm512_alignr_epi8(c2[174],c2[173],34)))))); + +//row: 11 + d2[66]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],26),_mm512_xor_si512(c2[3],_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],38),_mm512_xor_si512(c2[24],_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],26),_mm512_xor_si512(c2[27],_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],26),_mm512_xor_si512(c2[49],_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[98],c2[97],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],49),_mm512_xor_si512(c2[110],_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[122],c2[121],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[122],c2[121],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],47),_mm512_xor_si512(c2[205],_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],32),_mm512_xor_si512(c2[219],_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[257],c2[256],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[257],c2[256],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],25),_mm512_alignr_epi8(c2[255],c2[254],60)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 12 + d2[72]=_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],50),_mm512_alignr_epi8(c2[218],c2[217],10)))))); + +//row: 13 + d2[78]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],63),_mm512_xor_si512(c2[3],_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[53],c2[52],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[122],c2[121],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[122],c2[121],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[220],c2[219],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],62),_mm512_xor_si512(c2[231],_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],61),_mm512_xor_si512(c2[240],_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],35),_mm512_alignr_epi8(c2[258],c2[257],24)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 14 + d2[84]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],27),_mm512_alignr_epi8(c2[253],c2[252],12)))))); + +//row: 15 + d2[90]=_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],2),_mm512_xor_si512(c2[29],_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],11),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],62),_mm512_xor_si512(c2[204],_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],58),_mm512_xor_si512(c2[218],_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],50),_mm512_alignr_epi8(c2[256],c2[255],51))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 16 + d2[96]=_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],26),_mm512_xor_si512(c2[76],_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[98],c2[97],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[110],c2[109],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],41),_mm512_alignr_epi8(c2[253],c2[252],30))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 17 + d2[102]=_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],38),_mm512_alignr_epi8(c2[258],c2[257],55))))); + +//row: 18 + d2[108]=_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],4),_mm512_alignr_epi8(c2[229],c2[228],4))))); + +//row: 19 + d2[114]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],50),_mm512_alignr_epi8(c2[124],c2[123],5))))); + +//row: 20 + d2[120]=_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[37],c2[36],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[98],c2[97],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[110],c2[109],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],43),_mm512_alignr_epi8(c2[253],c2[252],32))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 21 + d2[126]=_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],21),_mm512_alignr_epi8(c2[254],c2[253],33))))); + +//row: 22 + d2[132]=_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],41),_mm512_alignr_epi8(c2[205],c2[204],22)))); + +//row: 23 + d2[138]=_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],61),_mm512_alignr_epi8(c2[217],c2[216],27)))); + +//row: 24 + d2[144]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],59),_mm512_xor_si512(c2[147],_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],26),_mm512_alignr_epi8(c2[256],c2[255],15))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 25 + d2[150]=_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],63),_mm512_alignr_epi8(c2[173],c2[172],56)))); + +//row: 26 + d2[156]=_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],12),_mm512_alignr_epi8(c2[183],c2[182],8)))); + +//row: 27 + d2[162]=_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],2),_mm512_alignr_epi8(c2[98],c2[97],37))); + +//row: 28 + d2[168]=_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],52),_mm512_alignr_epi8(c2[257],c2[256],18)))); + +//row: 29 + d2[174]=_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],23),_mm512_xor_si512(c2[37],_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],63),_mm512_xor_si512(c2[132],_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[221],c2[220],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],51),_mm512_alignr_epi8(c2[253],c2[252],52))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 30 + d2[180]=_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[54],c2[53],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[64],c2[63],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[76],c2[75],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],2),_mm512_xor_si512(c2[157],_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],63),c2[253]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 31 + d2[186]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],2),_mm512_xor_si512(c2[40],_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],1),_mm512_xor_si512(c2[113],_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],37),_mm512_alignr_epi8(c2[256],c2[255],38))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 32 + d2[192]=_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],32),_mm512_xor_si512(c2[51],_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],56),_mm512_xor_si512(c2[73],_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],63),_mm512_xor_si512(c2[97],_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[110],c2[109],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],31),_mm512_xor_si512(c2[123],_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[171],c2[170],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[246],c2[245],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[257],c2[256],4),_mm512_alignr_epi8(c2[257],c2[256],5)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 33 + d2[198]=_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],41),_mm512_alignr_epi8(c2[254],c2[253],41)))); + +//row: 34 + d2[204]=_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],10),_mm512_alignr_epi8(c2[209],c2[208],56)))); + +//row: 35 + d2[210]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],33),_mm512_xor_si512(c2[17],_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],58),_mm512_alignr_epi8(c2[256],c2[255],47)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 36 + d2[216]=_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],41),_mm512_alignr_epi8(c2[217],c2[216],21)))); + +//row: 37 + d2[222]=_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],39),_mm512_xor_si512(c2[3],_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],38),_mm512_xor_si512(c2[27],_mm512_xor_si512(_mm512_alignr_epi8(c2[25],c2[24],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],20),_mm512_xor_si512(c2[49],_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[77],c2[76],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[89],c2[88],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[124],c2[123],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[133],c2[132],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[150],c2[149],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[161],c2[160],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[172],c2[171],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],23),_mm512_xor_si512(_mm512_alignr_epi8(c2[183],c2[182],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[193],c2[192],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[208],c2[207],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[222],c2[221],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[233],c2[232],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[241],c2[240],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[254],c2[253],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],36),_mm512_alignr_epi8(c2[254],c2[253],25)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 38 + d2[228]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],33),_mm512_alignr_epi8(c2[148],c2[147],22)))); + +//row: 39 + d2[234]=_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[38],c2[37],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],26),_mm512_alignr_epi8(c2[233],c2[232],41)))); + +//row: 40 + d2[240]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],37),_mm512_alignr_epi8(c2[209],c2[208],56))); + +//row: 41 + d2[246]=_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],11),_mm512_alignr_epi8(c2[221],c2[220],32)))); + +//row: 42 + d2[252]=_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[5],c2[4],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[29],c2[28],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[27],c2[26],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],36),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[99],c2[98],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[101],c2[100],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[109],c2[108],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[113],c2[112],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[122],c2[121],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[126],c2[125],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],8),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],2),_mm512_xor_si512(c2[159],_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[157],c2[156],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],46),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[181],c2[180],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[210],c2[209],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],13),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[231],c2[230],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[229],c2[228],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[258],c2[257],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],63),c2[255])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 43 + d2[258]=_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[1],c2[0],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[13],c2[12],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[16],c2[15],63),_mm512_xor_si512(c2[16],_mm512_xor_si512(_mm512_alignr_epi8(c2[14],c2[13],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[26],c2[25],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[40],c2[39],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[39],c2[38],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[50],c2[49],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],59),_mm512_xor_si512(_mm512_alignr_epi8(c2[49],c2[48],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[66],c2[65],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[65],c2[64],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],47),_mm512_xor_si512(_mm512_alignr_epi8(c2[78],c2[77],48),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[90],c2[89],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[98],c2[97],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],32),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[110],c2[109],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[122],c2[121],9),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[125],c2[124],45),_mm512_xor_si512(_mm512_alignr_epi8(c2[137],c2[136],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[134],c2[133],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[147],c2[146],58),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[145],c2[144],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[159],c2[158],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[162],c2[161],49),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],61),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[169],c2[168],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[173],c2[172],1),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],61),_mm512_xor_si512(c2[180],_mm512_xor_si512(_mm512_alignr_epi8(c2[185],c2[184],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[184],c2[183],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[197],c2[196],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],11),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],24),_mm512_xor_si512(_mm512_alignr_epi8(c2[194],c2[193],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[195],c2[194],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[209],c2[208],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],20),_mm512_xor_si512(_mm512_alignr_epi8(c2[206],c2[205],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[217],c2[216],56),_mm512_xor_si512(_mm512_alignr_epi8(c2[218],c2[217],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[234],c2[233],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[242],c2[241],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[243],c2[242],54),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[257],c2[256],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[255],c2[254],13),_mm512_alignr_epi8(c2[255],c2[254],14))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 44 + d2[264]=_mm512_xor_si512(_mm512_alignr_epi8(c2[4],c2[3],5),_mm512_xor_si512(_mm512_alignr_epi8(c2[6],c2[5],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[3],c2[2],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[2],c2[1],16),_mm512_xor_si512(_mm512_alignr_epi8(c2[17],c2[16],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],12),_mm512_xor_si512(_mm512_alignr_epi8(c2[18],c2[17],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[30],c2[29],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[28],c2[27],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[42],c2[41],27),_mm512_xor_si512(_mm512_alignr_epi8(c2[41],c2[40],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[52],c2[51],30),_mm512_xor_si512(_mm512_alignr_epi8(c2[51],c2[50],37),_mm512_xor_si512(_mm512_alignr_epi8(c2[62],c2[61],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[61],c2[60],34),_mm512_xor_si512(_mm512_alignr_epi8(c2[63],c2[62],18),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[73],c2[72],51),_mm512_xor_si512(_mm512_alignr_epi8(c2[74],c2[73],25),_mm512_xor_si512(_mm512_alignr_epi8(c2[88],c2[87],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[87],c2[86],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[85],c2[84],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[86],c2[85],14),_mm512_xor_si512(_mm512_alignr_epi8(c2[100],c2[99],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[97],c2[96],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[102],c2[101],10),_mm512_xor_si512(_mm512_alignr_epi8(c2[112],c2[111],15),_mm512_xor_si512(_mm512_alignr_epi8(c2[110],c2[109],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[114],c2[113],17),_mm512_xor_si512(_mm512_alignr_epi8(c2[111],c2[110],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[123],c2[122],50),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],19),_mm512_xor_si512(_mm512_alignr_epi8(c2[121],c2[120],22),_mm512_xor_si512(_mm512_alignr_epi8(c2[138],c2[137],63),_mm512_xor_si512(_mm512_alignr_epi8(c2[135],c2[134],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[136],c2[135],3),_mm512_xor_si512(_mm512_alignr_epi8(c2[149],c2[148],35),_mm512_xor_si512(_mm512_alignr_epi8(c2[148],c2[147],40),_mm512_xor_si512(_mm512_alignr_epi8(c2[146],c2[145],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],55),_mm512_xor_si512(_mm512_alignr_epi8(c2[158],c2[157],26),_mm512_xor_si512(_mm512_alignr_epi8(c2[160],c2[159],39),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],43),_mm512_xor_si512(_mm512_alignr_epi8(c2[174],c2[173],42),_mm512_xor_si512(_mm512_alignr_epi8(c2[170],c2[169],38),_mm512_xor_si512(_mm512_alignr_epi8(c2[182],c2[181],41),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],53),_mm512_xor_si512(_mm512_alignr_epi8(c2[186],c2[185],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[198],c2[197],60),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],52),_mm512_xor_si512(_mm512_alignr_epi8(c2[196],c2[195],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[205],c2[204],21),_mm512_xor_si512(_mm512_alignr_epi8(c2[207],c2[206],62),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],4),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],2),_mm512_xor_si512(_mm512_alignr_epi8(c2[219],c2[218],33),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],6),_mm512_xor_si512(_mm512_alignr_epi8(c2[232],c2[231],29),_mm512_xor_si512(_mm512_alignr_epi8(c2[230],c2[229],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[244],c2[243],28),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],31),_mm512_xor_si512(_mm512_alignr_epi8(c2[245],c2[244],57),_mm512_xor_si512(_mm512_alignr_epi8(c2[256],c2[255],44),_mm512_xor_si512(_mm512_alignr_epi8(c2[253],c2[252],2),_mm512_alignr_epi8(c2[256],c2[255],55)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 45 + d2[270]=_mm512_xor_si512(_mm512_alignr_epi8(c2[15],c2[14],7),_mm512_xor_si512(_mm512_alignr_epi8(c2[75],c2[74],21),_mm512_alignr_epi8(c2[121],c2[120],15))); + } +} diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_permutex_byte.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_permutex_byte.c new file mode 100644 index 0000000000..d0649a1e88 --- /dev/null +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc384_simd512_permutex_byte.c @@ -0,0 +1,218 @@ +#include "PHY/sse_intrin.h" +// generated code for Zc=384, byte encoding + const uint8_t abshift_bytes[64][64] __attribute__((aligned(64)))= { +{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63}, +{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64}, +{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65}, +{3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66}, +{4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67}, +{5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68}, +{6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69}, +{7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70}, +{8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71}, +{9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72}, +{10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73}, +{11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74}, +{12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75}, +{13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76}, +{14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77}, +{15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78}, +{16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79}, +{17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80}, +{18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81}, +{19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82}, +{20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83}, +{21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84}, +{22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85}, +{23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86}, +{24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87}, +{25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88}, +{26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89}, +{27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90}, +{28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91}, +{29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92}, +{30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93}, +{31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94}, +{32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95}, +{33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96}, +{34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97}, +{35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98}, +{36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99}, +{37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100}, +{38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101}, +{39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102}, +{40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103}, +{41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104}, +{42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105}, +{43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106}, +{44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107}, +{45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108}, +{46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109}, +{47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110}, +{48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111}, +{49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112}, +{50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113}, +{51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114}, +{52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115}, +{53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116}, +{54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117}, +{55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118}, +{56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119}, +{57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120}, +{58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121}, +{59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122}, +{60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123}, +{61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124}, +{62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125}, +{63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126}}; +#define abshift_get(r) (*(const __m512i *) abshift_bytes[r]) + +static void ldpc384_byte(uint8_t *c,uint8_t *d) { + __m512i *csimd=(__m512i *)c,*dsimd=(__m512i *)d; + + __m512i *c2,*d2; + + int i2; + for (i2=0; i2<6; i2++) { + c2=&csimd[i2]; + d2=&dsimd[i2]; + +//row: 0 + d2[0]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(51),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(12),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(13),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(20),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(19),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(58),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(23),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(50),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(12),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(8),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(49),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(9),c2[38]),_mm512_xor_si512(c2[36],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(32),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(12),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(19),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(53),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(16),c2[63]),_mm512_xor_si512(c2[64],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(24),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(33),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(7),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(11),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(11),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(25),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(11),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(32),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(56),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(61),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(50),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(63),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(32),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(1),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(4),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(45),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(39),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(49),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(17),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(22),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(39),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(37),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(8),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(21),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(25),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(24),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(20),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(23),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(35),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(53),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(42),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(34),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(48),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(50),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(3),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(44),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(50),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(48),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(15),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(52),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(11),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(13),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(10),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(13),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(39),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(26),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(48),c2[254]),_mm512_permutex2var_epi8(c2[257],abshift_get(37),c2[258]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 1 + d2[6]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(51),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(52),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(13),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(14),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(21),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(19),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(20),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(59),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(24),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(50),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(51),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(13),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(9),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(49),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(50),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(10),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(1),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(33),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(13),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(20),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(53),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(54),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(17),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(1),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(24),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(25),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(34),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(8),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(12),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(12),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(26),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(12),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(33),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(57),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(61),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(62),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(51),c2[111]),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(32),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(33),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(2),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(5),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(45),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(46),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(40),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(50),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(17),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(18),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(23),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(40),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(37),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(38),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(9),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(22),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(26),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(25),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(21),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(23),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(24),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(36),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(54),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(42),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(43),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(35),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(49),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(51),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(4),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(45),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(50),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(51),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(49),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(16),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(52),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(53),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(12),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(14),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(10),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(11),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(14),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(40),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(26),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(27),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(49),c2[254]),_mm512_permutex2var_epi8(c2[257],abshift_get(38),c2[258])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 2 + d2[12]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(52),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(13),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(13),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(14),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(20),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(21),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(20),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(58),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(59),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(23),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(24),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(51),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(13),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(8),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(9),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(50),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(10),c2[38]),_mm512_xor_si512(c2[36],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(1),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(33),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(12),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(13),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(19),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(20),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(54),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(17),c2[63]),_mm512_xor_si512(c2[64],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(1),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(25),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(33),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(34),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(7),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(8),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(12),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(11),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(12),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(25),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(26),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(12),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(32),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(33),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(56),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(57),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(62),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(51),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(63),c2[109]),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(33),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(1),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(2),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(4),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(5),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(46),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(40),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(49),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(50),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(18),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(23),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(39),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(40),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(38),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(8),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(9),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(21),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(22),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(26),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(24),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(25),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(20),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(21),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(24),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(36),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(53),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(54),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(43),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(35),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(48),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(49),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(51),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(3),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(4),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(44),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(45),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(51),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(48),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(49),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(15),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(16),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(53),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(12),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(13),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(14),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(11),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(13),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(14),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(39),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(40),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(27),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(49),c2[254]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(37),c2[258]),_mm512_permutex2var_epi8(c2[257],abshift_get(38),c2[258]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 3 + d2[18]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(52),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(13),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(14),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(20),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(21),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(20),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(59),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(23),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(24),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(51),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(13),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(9),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(50),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(10),c2[38]),_mm512_xor_si512(c2[36],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(1),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(33),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(13),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(19),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(20),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(54),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(17),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(1),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(25),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(34),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(7),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(8),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(12),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(12),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(25),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(26),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(12),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(33),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(56),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(57),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(62),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(51),c2[111]),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(33),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(2),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(4),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(5),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(46),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(40),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(49),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(50),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(18),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(23),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(39),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(40),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(38),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(9),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(21),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(22),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(26),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(25),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(20),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(21),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(24),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(36),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(54),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(43),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(35),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(48),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(49),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(51),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(4),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(44),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(45),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(51),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(49),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(15),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(16),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(53),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(12),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(14),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(11),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(14),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(39),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(40),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(27),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(49),c2[254]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(37),c2[258]),_mm512_permutex2var_epi8(c2[257],abshift_get(38),c2[258])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 4 + d2[24]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(12),c2[6]),_mm512_permutex2var_epi8(c2[14],abshift_get(53),c2[15])); + +//row: 5 + d2[30]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(16),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(41),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(42),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(49),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(3),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(48),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(23),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(52),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(14),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(15),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(41),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(37),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(14),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(38),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(29),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(51),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(61),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(41),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(48),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(18),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(45),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(29),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(53),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(62),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(36),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(40),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(40),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(54),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[97],abshift_get(40),c2[98]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(61),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(21),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[109],abshift_get(26),c2[110]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(15),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(28),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(61),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(30),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(33),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(10),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(4),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(14),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(46),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(51),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(4),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(38),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(2),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(37),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(50),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(54),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(53),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(49),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(52),c2[186]),_mm512_xor_si512(c2[184],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(18),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(7),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(63),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(13),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(49),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(15),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(32),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(9),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(15),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(13),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(44),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(17),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(40),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(42),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(39),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(42),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(4),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(55),c2[254]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[256],abshift_get(13),c2[257]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(2),c2[255]),_mm512_permutex2var_epi8(c2[252],abshift_get(51),c2[253]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 6 + d2[36]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(22),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(1),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(1),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(31),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(28),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(61),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(18),c2[217]),_mm512_permutex2var_epi8(c2[243],abshift_get(33),c2[244])))))))); + +//row: 7 + d2[42]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(9),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(62),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(60),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(13),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(34),c2[101]),_mm512_permutex2var_epi8(c2[169],abshift_get(50),c2[170])))))); + +//row: 8 + d2[48]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(54),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(30),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(15),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(55),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(16),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(55),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(56),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(23),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(62),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(63),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(51),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(22),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(62),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(61),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(36),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(37),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(26),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(1),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(2),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(51),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(53),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(29),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(15),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(55),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(11),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(50),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(51),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(52),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(28),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(12),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(52),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(3),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(42),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(43),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(37),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(35),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(11),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(15),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(54),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(55),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(22),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(61),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(62),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(56),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(32),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(19),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(59),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(3),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(42),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(43),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(27),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(3),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(36),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(11),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(12),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(10),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(49),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(50),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(14),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(54),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(14),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(53),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(54),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(28),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(3),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(4),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(14),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[97],abshift_get(54),c2[98]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(35),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(10),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(11),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[97],abshift_get(59),c2[98]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(34),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(35),c2[100]),_mm512_xor_si512(c2[108],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[109],abshift_get(40),c2[110]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(53),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(29),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(2),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(41),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(42),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(35),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[121],abshift_get(11),c2[122]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(4),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(43),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(44),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(7),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(46),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(47),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(48),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(24),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(42),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(18),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(52),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(27),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(28),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(20),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(60),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(25),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(1),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(42),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(17),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(18),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(18),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(40),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(16),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(11),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(50),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(51),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(24),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(63),c2[158]),_mm512_xor_si512(c2[158],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(28),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(4),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(27),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(2),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(3),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(23),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(62),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(63),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(26),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(2),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(38),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(14),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(56),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(31),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(32),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(45),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(21),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(37),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(13),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(51),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(26),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(27),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(39),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(53),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(29),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(6),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(45),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(46),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(47),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(22),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(23),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(53),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(29),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(51),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(26),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(27),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(18),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(57),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(58),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(55),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(31),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(14),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(54),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(16),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(55),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(56),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(32),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(13),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(53),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(16),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(55),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(56),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(42),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(17),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(18),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(29),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(5),c2[255]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(51),c2[255]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[256],abshift_get(27),c2[257]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(40),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(15),c2[255]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(16),c2[255]),_mm512_permutex2var_epi8(c2[257],abshift_get(48),c2[258]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 9 + d2[54]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(46),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(40),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(1),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(5),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(57),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(47),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(63),c2[217]),_mm512_permutex2var_epi8(c2[241],abshift_get(18),c2[242])))))))); + +//row: 10 + d2[60]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(37),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(19),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(18),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(47),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(63),c2[102]),_mm512_permutex2var_epi8(c2[173],abshift_get(34),c2[174])))))); + +//row: 11 + d2[66]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(1),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(38),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(39),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(26),c2[1]),_mm512_xor_si512(c2[3],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(27),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(1),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(34),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(8),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(48),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(33),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(6),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(7),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(8),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(46),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(37),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(11),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(38),c2[14]),_mm512_xor_si512(c2[24],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(37),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(38),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(26),c2[25]),_mm512_xor_si512(c2[27],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(22),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(60),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(63),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(36),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(37),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(23),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(61),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(14),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(52),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(46),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(20),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(26),c2[53]),_mm512_xor_si512(c2[49],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(33),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(7),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(3),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(40),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(41),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(30),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(4),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(14),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(52),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(38),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(11),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(12),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(47),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(21),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(21),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(59),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(25),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(63),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(25),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(63),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(39),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(13),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(25),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(63),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[97],abshift_get(46),c2[98]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(20),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(6),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(44),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(11),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(48),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(49),c2[109]),_mm512_xor_si512(c2[110],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(38),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(13),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(51),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(46),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(19),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(20),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[121],abshift_get(15),c2[122]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(53),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[121],abshift_get(18),c2[122]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(56),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(59),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(32),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(33),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(53),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(27),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(63),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(37),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(31),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(4),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(5),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(36),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(10),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(53),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(27),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(8),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(51),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(24),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(25),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(22),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(60),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(35),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(9),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(39),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(13),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(38),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(12),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(34),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(8),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(37),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(10),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(11),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(49),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(23),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(3),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(41),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(56),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(29),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(30),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(48),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(22),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(62),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(36),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(47),c2[193]),_mm512_xor_si512(c2[205],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(38),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(17),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(55),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(58),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(32),c2[205]),_mm512_xor_si512(c2[219],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(37),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(38),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(62),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(36),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(29),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(3),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(2),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(39),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(40),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(25),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(63),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(27),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(1),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(24),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(61),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(62),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(27),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(1),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(53),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(27),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[256],abshift_get(40),c2[257]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(13),c2[254]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(14),c2[254]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(62),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(36),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[256],abshift_get(51),c2[257]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(25),c2[254]),_mm512_permutex2var_epi8(c2[254],abshift_get(60),c2[255])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 12 + d2[72]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(13),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(58),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(46),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(40),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(50),c2[157]),_mm512_permutex2var_epi8(c2[217],abshift_get(10),c2[218])))))); + +//row: 13 + d2[78]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(37),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(38),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(63),c2[1]),_mm512_xor_si512(c2[3],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(7),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(57),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(5),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(6),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(45),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(10),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(36),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(37),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(63),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(59),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(35),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(36),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(60),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(51),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(49),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(19),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(63),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[52],abshift_get(6),c2[53]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(39),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(40),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(3),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(51),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(10),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(11),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(20),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(58),c2[75]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(62),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(62),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(12),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(10),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(62),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(19),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(43),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(47),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(48),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(37),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(50),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(18),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(19),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[121],abshift_get(52),c2[122]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[121],abshift_get(55),c2[122]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(31),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(32),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(26),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(36),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(3),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(4),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(9),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(26),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(23),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(24),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(59),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(8),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(12),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(11),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(7),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(9),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(10),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(22),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(40),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(28),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(29),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(21),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(35),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(37),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(54),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(31),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(36),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(37),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[219],abshift_get(35),c2[220]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(2),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(38),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(39),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(62),c2[233]),_mm512_xor_si512(c2[231],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(60),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(61),c2[245]),_mm512_xor_si512(c2[240],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(26),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(51),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(12),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(13),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(35),c2[254]),_mm512_permutex2var_epi8(c2[257],abshift_get(24),c2[258])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 14 + d2[84]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(14),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(56),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(9),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(25),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(27),c2[210]),_mm512_permutex2var_epi8(c2[252],abshift_get(12),c2[253])))))); + +//row: 15 + d2[90]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(1),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(26),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(27),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(33),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(34),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(49),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(33),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(8),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(36),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(37),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(2),c2[13]),_mm512_xor_si512(c2[29],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(26),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(22),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(63),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(23),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(13),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(14),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(46),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(26),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(32),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(33),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(3),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(30),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(14),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(38),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(47),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(20),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(21),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(25),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(25),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(38),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(39),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(25),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(46),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(5),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(6),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(11),c2[112]),_mm512_xor_si512(c2[109],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(13),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(46),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(15),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(17),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(18),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(18),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(59),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(53),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(62),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(63),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(31),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(36),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(52),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(53),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(51),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(22),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(34),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(35),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(62),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(39),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(38),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(33),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(34),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(37),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(49),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(3),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(56),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(48),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(61),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(62),c2[195]),_mm512_xor_si512(c2[204],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(17),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(57),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(58),c2[207]),_mm512_xor_si512(c2[218],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(62),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(28),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(29),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(55),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(2),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(25),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(27),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(24),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(27),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(52),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(53),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(40),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(62),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(50),c2[256]),_mm512_permutex2var_epi8(c2[255],abshift_get(51),c2[256]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 16 + d2[96]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(44),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(5),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(6),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(13),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(12),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(51),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(16),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(13),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(43),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(5),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(1),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(42),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(2),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(57),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(18),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(25),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(5),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(12),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(46),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(9),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(57),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(17),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(26),c2[76]),_mm512_xor_si512(c2[76],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(4),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(4),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(18),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(4),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(25),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[97],abshift_get(49),c2[98]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(54),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(43),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[109],abshift_get(56),c2[110]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(25),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(58),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(61),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(38),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(32),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(42),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(57),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(10),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(15),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(32),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(30),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(1),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(14),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(18),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(17),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(13),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(16),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(28),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(46),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(35),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(27),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(41),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(43),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(60),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(37),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(43),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(41),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(8),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(45),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(4),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(6),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(3),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(6),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(32),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(33),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(19),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(41),c2[255]),_mm512_permutex2var_epi8(c2[252],abshift_get(30),c2[253]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 17 + d2[102]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(4),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(47),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(17),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(38),c2[210]),_mm512_permutex2var_epi8(c2[257],abshift_get(55),c2[258]))))); + +//row: 18 + d2[108]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(2),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(35),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(24),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(4),c2[219]),_mm512_permutex2var_epi8(c2[228],abshift_get(4),c2[229]))))); + +//row: 19 + d2[114]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(17),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(21),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(24),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(50),c2[100]),_mm512_permutex2var_epi8(c2[123],abshift_get(5),c2[124]))))); + +//row: 20 + d2[120]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(46),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(7),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(8),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(15),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(59),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(14),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(53),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(18),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(45),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(7),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(3),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(44),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(4),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[36],abshift_get(59),c2[37]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(14),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(27),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(7),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(14),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(48),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(11),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(59),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(19),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(28),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(2),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(6),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(6),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(20),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(6),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(27),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[97],abshift_get(51),c2[98]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(56),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(45),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[109],abshift_get(58),c2[110]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(8),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(27),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(60),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(63),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(40),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(34),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(44),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(21),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(12),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(17),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(34),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(32),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(3),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(16),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(20),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(19),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(15),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(18),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(30),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(48),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(37),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(29),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(43),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(45),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(62),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(39),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(45),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(43),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(10),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(47),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(6),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(8),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(5),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(8),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(34),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(21),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(43),c2[255]),_mm512_permutex2var_epi8(c2[252],abshift_get(32),c2[253]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 21 + d2[126]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(13),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(38),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(8),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(21),c2[244]),_mm512_permutex2var_epi8(c2[253],abshift_get(33),c2[254]))))); + +//row: 22 + d2[132]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(30),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(11),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(41),c2[160]),_mm512_permutex2var_epi8(c2[204],abshift_get(22),c2[205])))); + +//row: 23 + d2[138]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(24),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(25),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(61),c2[121]),_mm512_permutex2var_epi8(c2[216],abshift_get(27),c2[217])))); + +//row: 24 + d2[144]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(29),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(54),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(55),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(62),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(42),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(61),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(36),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(1),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(28),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(54),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(50),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(27),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(51),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(42),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(30),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(10),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(54),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(61),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(43),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(31),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(58),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(42),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(2),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(11),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(49),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(53),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(53),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(3),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(53),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(10),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(34),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(39),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(28),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(41),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(10),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(43),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(46),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(23),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(17),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(27),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(19),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(59),c2[148]),_mm512_xor_si512(c2[147],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(17),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(15),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(50),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(63),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(3),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(2),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(62),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(1),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(13),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(31),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(20),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(12),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(26),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(28),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(45),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(22),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(28),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(26),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(57),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(30),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(53),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(55),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(52),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(55),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(17),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(4),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(26),c2[258]),_mm512_permutex2var_epi8(c2[255],abshift_get(15),c2[256]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 25 + d2[150]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(8),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(17),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(63),c2[90]),_mm512_permutex2var_epi8(c2[172],abshift_get(56),c2[173])))); + +//row: 26 + d2[156]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(7),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(17),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(12),c2[50]),_mm512_permutex2var_epi8(c2[182],abshift_get(8),c2[183])))); + +//row: 27 + d2[162]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(2),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(2),c2[76]),_mm512_permutex2var_epi8(c2[97],abshift_get(37),c2[98]))); + +//row: 28 + d2[168]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(30),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(19),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(52),c2[232]),_mm512_permutex2var_epi8(c2[256],abshift_get(18),c2[257])))); + +//row: 29 + d2[174]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(2),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(27),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(28),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(34),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(35),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(34),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(9),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(37),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(38),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(60),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(1),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(27),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(23),c2[25]),_mm512_xor_si512(c2[37],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(24),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(14),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(15),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(47),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(27),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(33),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(34),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(4),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(31),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(15),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(39),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(48),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(21),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(22),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(26),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(26),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(39),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(40),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(26),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(47),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(6),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(7),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(12),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(1),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(14),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(47),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(16),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(18),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(19),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(60),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(54),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(63),c2[138]),_mm512_xor_si512(c2[132],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(32),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(37),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(53),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(54),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(52),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(23),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(35),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(36),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(40),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(39),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(34),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(35),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(5),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(38),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(50),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(4),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(57),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(49),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(62),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(63),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(1),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(18),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(58),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(59),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(1),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[220],abshift_get(63),c2[221]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(29),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(30),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(19),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(3),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(26),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(28),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(25),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(28),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(53),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(54),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(41),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(63),c2[255]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(51),c2[253]),_mm512_permutex2var_epi8(c2[252],abshift_get(52),c2[253]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 30 + d2[180]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(14),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(39),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(39),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(40),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(46),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(47),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(31),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(46),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(20),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(21),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(49),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(50),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(13),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(39),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(34),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(35),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(12),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(36),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(26),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(27),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(59),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(38),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(39),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(45),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[53],abshift_get(46),c2[54]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(16),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[63],abshift_get(43),c2[64]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(26),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(27),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(51),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(59),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[75],abshift_get(60),c2[76]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(33),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(34),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(38),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(37),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(38),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(51),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(52),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(38),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(58),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(59),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(18),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(19),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(24),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(13),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(25),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(26),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(59),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(27),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(28),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(30),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(31),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(37),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(8),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(2),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(11),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(12),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(44),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(49),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(1),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(2),c2[150]),_mm512_xor_si512(c2[157],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(34),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(35),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(47),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(48),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(4),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(52),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(50),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(51),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(46),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(47),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(50),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(62),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(15),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(16),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(5),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(61),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(10),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(11),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(13),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(29),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(30),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(6),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(7),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(13),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(10),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(11),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(41),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(42),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(15),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(38),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(39),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(40),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(37),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(39),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(40),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(1),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(2),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(53),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(11),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(63),c2[253]),c2[253]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 31 + d2[186]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(53),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(52),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(14),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(13),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(15),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(14),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(22),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(20),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(21),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(21),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(20),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(60),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(59),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(25),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(23),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(24),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(36),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(52),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(51),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(14),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(13),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(10),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(9),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(51),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(50),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(11),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(10),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(2),c2[41]),_mm512_xor_si512(c2[40],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(1),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(34),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(33),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(14),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(13),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(21),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(19),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(20),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(55),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(54),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(18),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(17),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(2),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(1),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(26),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(25),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(35),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(34),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(9),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(7),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(8),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(13),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(12),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(13),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(12),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(27),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(25),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(26),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(23),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(13),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(12),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(34),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(33),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(58),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(56),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(57),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(63),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(62),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(52),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(51),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(1),c2[114]),_mm512_xor_si512(c2[113],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(34),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(33),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(3),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(2),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(6),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(4),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(5),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(47),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(46),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(41),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(40),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(51),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(49),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(50),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(19),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(18),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(24),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(23),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(41),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(39),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(40),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(39),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(38),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(10),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(9),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(23),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(21),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(22),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(27),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(26),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(26),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(25),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(22),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(20),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(21),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(25),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(24),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(37),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(36),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(55),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(54),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(44),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(43),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(36),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(35),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(50),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(48),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(49),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(52),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(51),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(5),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(4),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(46),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(44),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(45),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(52),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(51),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(50),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(49),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(17),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(15),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(16),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(54),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(53),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(13),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(12),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(15),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(14),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(12),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(11),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(15),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(14),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(41),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(39),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(40),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(28),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(27),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(50),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(49),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(39),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(37),c2[256]),_mm512_permutex2var_epi8(c2[255],abshift_get(38),c2[256]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 32 + d2[192]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(19),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(44),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(44),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(45),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(51),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(52),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(38),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(51),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(25),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(26),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(54),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(55),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(18),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(44),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(39),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(40),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(17),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(41),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(31),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(32),c2[41]),_mm512_xor_si512(c2[51],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(43),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(44),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(50),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(51),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(21),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(48),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(31),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(32),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(56),c2[74]),_mm512_xor_si512(c2[73],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(1),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(38),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(39),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(43),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(42),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(43),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(56),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(57),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(43),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(63),c2[97]),_mm512_xor_si512(c2[97],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(23),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(24),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(29),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[109],abshift_get(18),c2[110]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(30),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(31),c2[114]),_mm512_xor_si512(c2[123],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(32),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(33),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(35),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(36),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(13),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(7),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(16),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(17),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(49),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(54),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(6),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(7),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(9),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(5),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(39),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(40),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(52),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(53),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(57),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(55),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(56),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(51),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(52),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[170],abshift_get(47),c2[171]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(55),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(3),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(20),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(21),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(10),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(2),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(15),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(16),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(18),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(34),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(35),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(11),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(12),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(18),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(15),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(16),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(46),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(47),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(20),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(43),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(44),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(45),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(42),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(44),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(45),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(6),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[245],abshift_get(7),c2[246]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(58),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(16),c2[253]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[256],abshift_get(4),c2[257]),_mm512_permutex2var_epi8(c2[256],abshift_get(5),c2[257])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 33 + d2[198]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(3),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(8),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(41),c2[138]),_mm512_permutex2var_epi8(c2[253],abshift_get(41),c2[254])))); + +//row: 34 + d2[204]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(38),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(20),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(10),c2[184]),_mm512_permutex2var_epi8(c2[208],abshift_get(56),c2[209])))); + +//row: 35 + d2[210]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(61),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(22),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(23),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(30),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(29),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(4),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(33),c2[18]),_mm512_xor_si512(c2[17],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(60),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(22),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(18),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(59),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(19),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(10),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(42),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(22),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(29),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(63),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(26),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(10),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(34),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(43),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(17),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(15),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(21),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(21),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(35),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(21),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(42),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(2),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(7),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(60),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(9),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(42),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(11),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(14),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(55),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(49),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(59),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(27),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(32),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(49),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(2),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(47),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(18),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(31),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(35),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(34),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(30),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(33),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(45),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(63),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(52),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(44),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(58),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(60),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(13),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(54),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(60),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(58),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(25),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(62),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(21),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(23),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(20),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(23),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(49),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(36),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(58),c2[258]),_mm512_permutex2var_epi8(c2[255],abshift_get(47),c2[256])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 36 + d2[216]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(18),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(57),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(41),c2[185]),_mm512_permutex2var_epi8(c2[216],abshift_get(21),c2[217])))); + +//row: 37 + d2[222]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(38),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(39),c2[1]),_mm512_xor_si512(c2[3],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(1),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(8),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(6),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(7),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(46),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(11),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(13),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(37),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(38),c2[27]),_mm512_xor_si512(c2[27],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[24],abshift_get(60),c2[25]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(36),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(37),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(61),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(52),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(20),c2[49]),_mm512_xor_si512(c2[49],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(7),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(40),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(41),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(4),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(52),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(11),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(12),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(21),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[76],abshift_get(59),c2[77]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(63),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(63),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[88],abshift_get(13),c2[89]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(63),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(20),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(44),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(48),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(49),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(38),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(51),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(19),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(20),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(53),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[123],abshift_get(56),c2[124]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(32),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(33),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(27),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[132],abshift_get(37),c2[133]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(4),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(5),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(10),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[149],abshift_get(27),c2[150]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(24),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(25),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[160],abshift_get(60),c2[161]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(9),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(18),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(13),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[171],abshift_get(12),c2[172]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(8),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(10),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(11),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(23),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[182],abshift_get(41),c2[183]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(29),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(30),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(22),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[192],abshift_get(36),c2[193]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(38),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[207],abshift_get(55),c2[208]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(32),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(37),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(38),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[221],abshift_get(36),c2[222]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(3),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(39),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[232],abshift_get(40),c2[233]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(63),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(1),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(61),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[240],abshift_get(62),c2[241]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(1),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(27),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(13),c2[254]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[253],abshift_get(14),c2[254]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(36),c2[256]),_mm512_permutex2var_epi8(c2[253],abshift_get(25),c2[254])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 38 + d2[228]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(57),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(49),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(33),c2[125]),_mm512_permutex2var_epi8(c2[147],abshift_get(22),c2[148])))); + +//row: 39 + d2[234]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(2),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[37],abshift_get(29),c2[38]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(26),c2[90]),_mm512_permutex2var_epi8(c2[232],abshift_get(41),c2[233])))); + +//row: 40 + d2[240]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(47),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(37),c2[97]),_mm512_permutex2var_epi8(c2[208],abshift_get(56),c2[209]))); + +//row: 41 + d2[246]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(52),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(58),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(11),c2[111]),_mm512_permutex2var_epi8(c2[220],abshift_get(32),c2[221])))); + +//row: 42 + d2[252]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(14),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[4],abshift_get(39),c2[5]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(39),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(40),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(46),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(47),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(49),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(46),c2[16]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(20),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(21),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(49),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(50),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(13),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[28],abshift_get(39),c2[29]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(34),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[26],abshift_get(35),c2[27]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(12),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(36),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(26),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(27),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(59),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(38),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(39),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(45),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(46),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(14),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(16),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(43),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(26),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(27),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(51),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(59),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(60),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(33),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(34),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(38),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(37),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(38),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(51),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(52),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[98],abshift_get(38),c2[99]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(58),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(59),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(18),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[100],abshift_get(19),c2[101]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(24),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[108],abshift_get(13),c2[109]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(25),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[112],abshift_get(26),c2[113]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[121],abshift_get(59),c2[122]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(27),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(28),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(30),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[125],abshift_get(31),c2[126]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(8),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(2),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(11),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(12),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(44),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(49),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(1),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(2),c2[146]),_mm512_xor_si512(c2[159],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(34),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[156],abshift_get(35),c2[157]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(47),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(48),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(52),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(50),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(51),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(46),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(47),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[180],abshift_get(50),c2[181]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(62),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(15),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(16),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(5),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(61),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(10),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(11),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(13),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(29),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[209],abshift_get(30),c2[210]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(6),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(7),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(13),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(10),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(11),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(41),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(42),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(15),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[230],abshift_get(38),c2[231]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(39),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[228],abshift_get(40),c2[229]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(37),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(39),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(40),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(1),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(2),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(53),c2[255]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[257],abshift_get(11),c2[258]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(63),c2[255]),c2[255])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 43 + d2[258]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(28),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(53),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(54),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(60),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[0],abshift_get(61),c2[1]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(60),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[12],abshift_get(35),c2[13]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[15],abshift_get(63),c2[16]),_mm512_xor_si512(c2[16],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[13],abshift_get(49),c2[14]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(27),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(53),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[25],abshift_get(49),c2[26]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(26),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[39],abshift_get(50),c2[40]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(40),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[38],abshift_get(41),c2[39]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(9),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[49],abshift_get(53),c2[50]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(59),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[48],abshift_get(60),c2[49]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[65],abshift_get(30),c2[66]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[64],abshift_get(57),c2[65]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(41),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(1),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(10),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(47),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[77],abshift_get(48),c2[78]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(52),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(52),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(1),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[89],abshift_get(2),c2[90]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[97],abshift_get(52),c2[98]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(9),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(32),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(33),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[109],abshift_get(38),c2[110]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(27),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(40),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[121],abshift_get(9),c2[122]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(42),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(44),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[124],abshift_get(45),c2[125]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[136],abshift_get(22),c2[137]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(16),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(25),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[133],abshift_get(26),c2[134]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[146],abshift_get(58),c2[147]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(63),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(15),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[144],abshift_get(16),c2[145]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[158],abshift_get(14),c2[159]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[161],abshift_get(49),c2[162]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(61),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(62),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[168],abshift_get(2),c2[169]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[172],abshift_get(1),c2[173]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(60),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(61),c2[174]),_mm512_xor_si512(c2[180],_mm512_xor_si512(_mm512_permutex2var_epi8(c2[184],abshift_get(12),c2[185]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[183],abshift_get(30),c2[184]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[196],abshift_get(19),c2[197]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(11),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(24),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[193],abshift_get(25),c2[194]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[194],abshift_get(4),c2[195]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(27),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[208],abshift_get(44),c2[209]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(20),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[205],abshift_get(21),c2[206]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(27),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(25),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(55),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[216],abshift_get(56),c2[217]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[217],abshift_get(50),c2[218]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(29),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(52),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[233],abshift_get(54),c2[234]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[241],abshift_get(51),c2[242]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[242],abshift_get(54),c2[243]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(15),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(16),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(3),c2[255]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[256],abshift_get(25),c2[257]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[254],abshift_get(13),c2[255]),_mm512_permutex2var_epi8(c2[254],abshift_get(14),c2[255]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 44 + d2[264]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[3],abshift_get(5),c2[4]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[5],abshift_get(30),c2[6]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(31),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[2],abshift_get(38),c2[3]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[1],abshift_get(16),c2[2]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[16],abshift_get(37),c2[17]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(12),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[17],abshift_get(41),c2[18]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(4),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[29],abshift_get(30),c2[30]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[27],abshift_get(26),c2[28]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(3),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[41],abshift_get(27),c2[42]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[40],abshift_get(18),c2[41]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(50),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[51],abshift_get(30),c2[52]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[50],abshift_get(37),c2[51]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[61],abshift_get(7),c2[62]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[60],abshift_get(34),c2[61]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[62],abshift_get(18),c2[63]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(42),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[72],abshift_get(51),c2[73]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[73],abshift_get(25),c2[74]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[87],abshift_get(29),c2[88]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[86],abshift_get(29),c2[87]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[84],abshift_get(43),c2[85]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[85],abshift_get(14),c2[86]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[99],abshift_get(29),c2[100]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[96],abshift_get(50),c2[97]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[101],abshift_get(10),c2[102]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[111],abshift_get(15),c2[112]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[109],abshift_get(4),c2[110]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[113],abshift_get(17),c2[114]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[110],abshift_get(35),c2[111]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[122],abshift_get(50),c2[123]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(19),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[120],abshift_get(22),c2[121]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[137],abshift_get(63),c2[138]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[134],abshift_get(57),c2[135]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[135],abshift_get(3),c2[136]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[148],abshift_get(35),c2[149]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[147],abshift_get(40),c2[148]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[145],abshift_get(57),c2[146]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(55),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[157],abshift_get(26),c2[158]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[159],abshift_get(39),c2[160]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(43),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[173],abshift_get(42),c2[174]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[169],abshift_get(38),c2[170]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[181],abshift_get(41),c2[182]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(53),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[185],abshift_get(7),c2[186]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[197],abshift_get(60),c2[198]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(52),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[195],abshift_get(2),c2[196]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(4),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[204],abshift_get(21),c2[205]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[206],abshift_get(62),c2[207]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(4),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(2),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[218],abshift_get(33),c2[219]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(6),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[231],abshift_get(29),c2[232]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[229],abshift_get(31),c2[230]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[243],abshift_get(28),c2[244]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(31),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[244],abshift_get(57),c2[245]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[255],abshift_get(44),c2[256]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[252],abshift_get(2),c2[253]),_mm512_permutex2var_epi8(c2[255],abshift_get(55),c2[256])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + +//row: 45 + d2[270]=_mm512_xor_si512(_mm512_permutex2var_epi8(c2[14],abshift_get(7),c2[15]),_mm512_xor_si512(_mm512_permutex2var_epi8(c2[74],abshift_get(21),c2[75]),_mm512_permutex2var_epi8(c2[120],abshift_get(15),c2[121]))); + } +} diff --git a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c index 94eb0a4d92..70bc03b953 100644 --- a/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c +++ b/openair1/PHY/CODING/nrLDPC_encoder/ldpc_encode_parity_check.c @@ -36,13 +36,27 @@ #include "assertions.h" #include "common/utils/LOG/log.h" - +#define USE_PERMUTEX +#ifdef __aarch64__ +#define USE_ALIGNR +#endif #ifdef __AVX512F__ +#if defined(__AVX512VBMI__) && defined(USE_PERMUTEX) +// For AVX512 machines, use an AVX512 version of the encoder for Zc=384 only for now. This is used almost exclusively for +// high-throughput cases. The version with "permutex2var" instruction uses less memory (i.e. 1/64th of the memory to store the +// input), but uses more reads instead of creating 64 shifts of the input with memcpy +#include "ldpc384_simd512_permutex_byte.c" +#else #include "ldpc384_simd512_byte.c" +#endif #else #include "ldpc384_byte.c" #endif +#ifdef USE_ALIGNR +#include "ldpc384_alignr_byte_128.c" +#else #include "ldpc384_byte_128.c" +#endif #include "ldpc352_byte.c" #include "ldpc352_byte_128.c" #include "ldpc320_byte.c" @@ -96,8 +110,13 @@ static void encode_parity_check_part_optim(uint8_t *cc, uint8_t *d, short BG,sho memcpy(&c[2 * i1 * Zc], &cc[i1 * Zc], Zc * sizeof(unsigned char)); memcpy(&c[(2 * i1 + 1) * Zc], &cc[i1 * Zc], Zc * sizeof(unsigned char)); } - for (int i1 = 1; i1 < simd_size; i1++) { - memcpy(&c[(2 * ncols * Zc * i1)], &c[i1], (2 * ncols * Zc * sizeof(unsigned char)) - i1); +#if (defined(USE_PERMUTEX) && defined(__AVX512VBMI__)) || defined(USE_ALIGNR) + if (Zc < 384 || BG == 2) +#endif + { + for (int i1 = 1; i1 < simd_size; i1++) { + memcpy(&c[(2 * ncols * Zc * i1)], &c[i1], (2 * ncols * Zc * sizeof(unsigned char)) - i1); + } } if (BG == 1) { switch (Zc) { From 69de8cbc24e56ea73f344df6bfb7242c104b6744 Mon Sep 17 00:00:00 2001 From: Reem Bahsoun Date: Tue, 2 Sep 2025 09:52:23 +0200 Subject: [PATCH 10/13] Change cuBB tag to release 25-2 in YAML and documentation --- ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml | 2 +- doc/Aerial_FAPI_Split_Tutorial.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml b/ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml index d11a97c186..efc4d15b72 100644 --- a/ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml +++ b/ci-scripts/yaml_files/sa_gnb_aerial/docker-compose.yaml @@ -23,7 +23,7 @@ services: - ../../../cmake_targets/share:/opt/cuBB/share userns_mode: host ipc: "shareable" - image: cubb-build:25-1 + image: cubb-build:25-2 environment: - cuBB_SDK=/opt/nvidia/cuBB command: bash -c "sudo rm -rf /tmp/phy.log && sudo chmod +x /opt/nvidia/cuBB/aerial_l1_entrypoint.sh && /opt/nvidia/cuBB/aerial_l1_entrypoint.sh" diff --git a/doc/Aerial_FAPI_Split_Tutorial.md b/doc/Aerial_FAPI_Split_Tutorial.md index 4192a8689f..942b706d37 100644 --- a/doc/Aerial_FAPI_Split_Tutorial.md +++ b/doc/Aerial_FAPI_Split_Tutorial.md @@ -230,10 +230,10 @@ After preparing the L1 software, the container needs to be committed to create a In this file the RU MAC address needs to be specified before commiting the image. ```bash -~$ docker commit nv-cubb cubb-build:25-1 +~$ docker commit nv-cubb cubb-build:25-2 ~$ docker image ls .. -cubb-build 25-1 824156e0334c 2 weeks ago 23.9GB +cubb-build 25-2 824156e0334c 2 weeks ago 23.9GB -.. ``` From e69ef1d8ccfe125b2c9d13fd63c3b995881e8667 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 28 Aug 2025 10:42:39 +0200 Subject: [PATCH 11/13] UL scheduler log: print TDA, it has more info --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index e1a312d9e0..b08e703076 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -2442,7 +2442,7 @@ void post_process_ulsch(gNB_MAC_INST *nr_mac, post_process_pusch_t *pusch, NR_UE sched_ctrl->last_ul_slot = sched_pusch->slot; LOG_D(NR_MAC, - "ULSCH/PUSCH: %4d.%2d RNTI %04x UL sched %4d.%2d DCI L %d start %2d RBS %3d startSymbol %2d nb_symbol %2d dmrs_pos %x MCS " + "ULSCH/PUSCH: %4d.%2d RNTI %04x UL sched %4d.%2d DCI L %d start %2d RBS %3d TDA %2d dmrs_pos %x MCS " "Table %2d MCS %2d nrOfLayers %2d num_dmrs_cdm_grps_no_data %2d TBS %4d HARQ PID %2d round %d RV %d NDI %d est %6d sched " "%6d est BSR %6d TPC %d\n", frame, @@ -2453,8 +2453,7 @@ void post_process_ulsch(gNB_MAC_INST *nr_mac, post_process_pusch_t *pusch, NR_UE sched_ctrl->aggregation_level, sched_pusch->rbStart, sched_pusch->rbSize, - sched_pusch->tda_info.startSymbolIndex, - sched_pusch->tda_info.nrOfSymbols, + sched_pusch->time_domain_allocation, sched_pusch->dmrs_info.ul_dmrs_symb_pos, current_BWP->mcs_table, sched_pusch->mcs, From 225e640ca4cc3b4f87930d4c0da443bf655b3614 Mon Sep 17 00:00:00 2001 From: francescomani Date: Sun, 10 Aug 2025 10:15:02 +0200 Subject: [PATCH 12/13] fix max feedback time parameter (needs to be computed every time we have that information) --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c index 264150f314..84d5bd9f37 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c @@ -2518,7 +2518,7 @@ void set_max_fb_time(NR_UE_UL_BWP_t *UL_BWP, const NR_UE_DL_BWP_t *DL_BWP) { UL_BWP->max_fb_time = 8; // default value // take the maximum in dl_DataToUL_ACK list - if (DL_BWP->dci_format != NR_DL_DCI_FORMAT_1_0 && UL_BWP->pucch_Config) { + if (UL_BWP->pucch_Config) { const struct NR_PUCCH_Config__dl_DataToUL_ACK *fb_times = UL_BWP->pucch_Config->dl_DataToUL_ACK; for (int i = 0; i < fb_times->list.count; i++) { if(*fb_times->list.array[i] > UL_BWP->max_fb_time) From 206e44ae54b0b2b68833f147a32fa76582adbc5e Mon Sep 17 00:00:00 2001 From: Reem Bahsoun Date: Tue, 2 Sep 2025 10:01:19 +0200 Subject: [PATCH 13/13] Replace old nvIPC library with the new one --- ci-scripts/cls_containerize.py | 4 ++-- docker/Dockerfile.gNB.aerial.ubuntu | 2 +- docker/Dockerfile.gNB.aerial.ubuntu.sanitize-address | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index cc057a60d9..7ee8dc4746 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -389,13 +389,13 @@ class Containerize(): elif image != 'ran-build': cmd.run(f'sed -i -e "s#ran-build:latest#ran-build:{imageTag}#" docker/Dockerfile.{pattern}{self.dockerfileprefix}') if image == 'oai-gnb-aerial': - cmd.run('cp -f /opt/nvidia-ipc/nvipc.src.2025.05.20.tar.gz .') + cmd.run('cp -f /opt/nvidia-ipc/nvipc_src.2025.08.27.tar.gz .') logfile = f'{lSourcePath}/cmake_targets/log/{name}.docker.log' ret = cmd.run(f'{self.cli} build {self.cliBuildOptions} --target {image} --tag {name}:{imageTag} --file docker/Dockerfile.{pattern}{self.dockerfileprefix} {option} . > {logfile} 2>&1', timeout=1200) t = (name, archiveArtifact(cmd, ctx, logfile)) log_files.append(t) if image == 'oai-gnb-aerial': - cmd.run('rm -f nvipc.src.2025.05.20.tar.gz') + cmd.run('rm -f nvipc_src.2025.08.27.tar.gz') # check the status of the build ret = cmd.run(f"{self.cli} image inspect --format=\'Size = {{{{.Size}}}} bytes\' {name}:{imageTag}") if ret.returncode != 0: diff --git a/docker/Dockerfile.gNB.aerial.ubuntu b/docker/Dockerfile.gNB.aerial.ubuntu index c31025e039..04bed658fe 100644 --- a/docker/Dockerfile.gNB.aerial.ubuntu +++ b/docker/Dockerfile.gNB.aerial.ubuntu @@ -45,7 +45,7 @@ WORKDIR /oai-ran COPY . . RUN /bin/sh oaienv && \ - tar -xvzf nvipc* && \ + tar -xvzf nvipc_src.*.tar.gz && \ cd nvipc_src.* && \ rm -rf build && mkdir build && cd build && \ cmake .. -DNVIPC_DPDK_ENABLE=OFF -DNVIPC_DOCA_ENABLE=OFF -DNVIPC_CUDA_ENABLE=OFF -DENABLE_SLT_RSP=ON && \ diff --git a/docker/Dockerfile.gNB.aerial.ubuntu.sanitize-address b/docker/Dockerfile.gNB.aerial.ubuntu.sanitize-address index c2bbe7ac88..07b6d7111b 100644 --- a/docker/Dockerfile.gNB.aerial.ubuntu.sanitize-address +++ b/docker/Dockerfile.gNB.aerial.ubuntu.sanitize-address @@ -45,7 +45,7 @@ WORKDIR /oai-ran COPY . . RUN /bin/sh oaienv && \ - tar -xvzf nvipc* && \ + tar -xvzf nvipc_src.*.tar.gz && \ cd nvipc_src.* && \ rm -rf build && mkdir build && cd build && \ cmake .. -DNVIPC_DPDK_ENABLE=OFF -DNVIPC_DOCA_ENABLE=OFF -DNVIPC_CUDA_ENABLE=OFF -DENABLE_SLT_RSP=ON && \