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
219 lines
165 KiB
C
219 lines
165 KiB
C
#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])));
|
|
}
|
|
}
|